/* AUTOMATISCH ÜBERNOMMEN aus app/Ressourcenplanung___Weinzierl_Metallbau_wochenplanung.html
   (web/scripts/css-aus-altapp.mjs) - nicht von Hand ändern. */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Calibri,Arial,sans-serif;font-size:11px;background:#e8e8e8;min-height:100vh}
.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}

/* TOPBAR */
.topbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#1a1a2e;border-bottom:2px solid #185FA5}
.btn{font-size:11px;padding:6px 12px;border:1px solid rgba(255,255,255,0.25);border-radius:7px;background:rgba(255,255,255,0.12);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-weight:700;letter-spacing:0.3px;transition:background 0.15s}
.btn:hover{background:rgba(255,255,255,0.22)}
.btn.primary{background:#185FA5;border-color:#185FA5}
.btn.primary:hover{background:#0C447C}.topbar-logo{height:44px;width:auto;object-fit:contain}
.topbar-title{color:#fff;font-size:13px;font-weight:700;letter-spacing:1px;flex:1;text-transform:uppercase}
.btn{font-size:9px;padding:4px 10px;border:0.5px solid #ccc;border-radius:5px;background:#fff;color:#333;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.btn[disabled]{opacity:0.4;cursor:not-allowed}
.btn:hover{background:#f0f0f0}
.btn.primary{background:#185FA5;color:#fff;border-color:#185FA5}
.btn.primary:hover{background:#0C447C}
.btn.danger{background:#A32D2D;color:#fff;border-color:#A32D2D}
.btn.sm{padding:2px 6px}

/* TABS */
.tabs{display:flex;border-bottom:1px solid #ccc;background:#f5f5f5;padding:0 16px}
.tab{font-size:13px;padding:9px 17px;cursor:pointer;color:#666;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab.active{color:#185FA5;border-bottom-color:#185FA5;font-weight:700;background:#fff}
.panel{display:none;width:100%}.panel.active{display:block;width:100%}

/* TOOLBAR */
.cal-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;border-bottom:1px solid #ddd;flex-wrap:wrap;flex-shrink:0}
.kw-label{font-size:10px;font-weight:700;color:#185FA5;min-width:120px;max-width:200px;text-align:center;white-space:nowrap;overflow:hidden}
.week-nav{display:flex;align-items:center;gap:6px;position:relative;z-index:1}

/* SLIDER */
.slider-wrap{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}
.slider-wrap label{font-size:9px;color:#666;white-space:nowrap}
input[type=range]{flex:1;height:4px;accent-color:#185FA5;cursor:pointer}
.slider-val{font-size:9px;color:#185FA5;font-weight:700;min-width:60px}

/* WEEKS TOGGLE */
.weeks-toggle{display:flex;align-items:center;gap:5px}
.weeks-toggle label{font-size:9px;color:#666}
.weeks-toggle select{font-size:9px;padding:2px 4px;border:0.5px solid #ccc;border-radius:4px}

/* TABLE */
.cal-wrap{overflow:auto;background:#e8e8e8;padding:8px;flex:1;min-height:0}
.cal-table{border-collapse:collapse;min-width:900px;width:100%;table-layout:auto}
.cal-table th{font-size:9px;font-weight:700;color:#444;padding:5px 6px;border:1px solid #ccc;background:#d0d0d0;text-align:center;white-space:nowrap;position:sticky;top:0;z-index:3}
.cal-table th.col-label{text-align:left;min-width:120px;position:sticky;left:0;z-index:4;background:#c8c8c8}
.cal-table th.selected-col{background:#E6F1FB;color:#185FA5}
.cal-table th.today-col{background:#185FA5;color:#fff}

.proj-header-row td{padding:0;border:1px solid #999}
.proj-header-row td.proj-sticky{position:sticky;left:0;z-index:3;min-width:120px;width:120px}
.col-right-sticky{position:sticky;right:0;z-index:3;background:#fff;border-left:2px solid #ddd;width:64px;min-width:64px;padding:0!important}
.proj-header-row .col-right-sticky{background:inherit;border-left:1px solid rgba(255,255,255,0.2)}
.ma-row .col-right-sticky{background:#ebebeb;border-left:2px solid #bbb}
.proj-header{display:flex;align-items:center;gap:5px;padding:4px 8px;font-size:9px;font-weight:700;color:#fff;cursor:pointer;user-select:none;height:100%}
.proj-header-fill{height:100%;cursor:pointer}
.proj-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proj-kuerzel{font-size:8px;opacity:0.9;background:rgba(255,255,255,0.22);padding:1px 6px;border-radius:3px;flex-shrink:0;border:0.5px solid rgba(255,255,255,0.4)}

.ma-row td{padding:0;border:1px solid #ccc}
.ma-row td.col-label-cell{position:sticky;left:0;z-index:2;background:#ebebeb;border-right:2px solid #bbb}
.ma-label{display:flex;align-items:center;gap:5px;padding:4px 7px;min-height:44px}
.ma-label:hover .ma-del-btn{opacity:1!important;color:#A32D2D!important}
.ma-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff;font-weight:700;flex-shrink:0}

.day-td{padding:2px;vertical-align:top;background:#fff;min-width:90px}
.day-td.urlaub{background:#fff3e0}
.day-td.outside{background:#e0e0e0;opacity:0.8}
.day-td.weekend{background:#d4d4d4;min-width:22px;max-width:28px;width:26px;padding:1px;opacity:0.85}
.day-td.drop-ok{background:#daeeff !important;outline:2px dashed #185FA5;outline-offset:-2px;opacity:1!important}
.day-td.drop-copy{background:#d4f5e2 !important;outline:2px dashed #0F6E56;outline-offset:-2px;opacity:1!important}
.day-td.stretch-add{background:#e8f8ee !important;outline:2px dashed #0F6E56;outline-offset:-2px;opacity:1!important}
.day-td.stretch-del{background:#fdecea !important;outline:2px dashed #A32D2D;outline-offset:-2px;opacity:1!important}
.day-td.selected-col{box-shadow:inset 0 0 0 9999px rgba(24,95,165,0.06)}
.day-td.today-col{border-top:2px solid #185FA5 !important}
.th-weekend{min-width:22px !important;max-width:28px !important;width:26px !important;background:#c0c0c0 !important;color:#666 !important;font-size:8px !important;padding:3px 1px !important;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:0.5px}

.drag-card{background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px 14px 4px 5px;cursor:grab;min-height:36px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,0.08)}
.drag-card:hover{border-color:#185FA5;box-shadow:0 1px 4px rgba(24,95,165,0.2)}
.drag-card.dragging{opacity:0.3}
.drag-icon{position:absolute;top:2px;right:14px;color:#aaa;font-size:9px}
.stretch-handle{position:absolute;top:0;right:0;width:10px;height:100%;cursor:ew-resize;background:#e0e0e0;border-left:1px solid #ccc;border-radius:0 4px 4px 0;display:flex;align-items:center;justify-content:center;color:#888;font-size:9px;user-select:none;min-height:28px}
.stretch-handle:hover{background:#185FA5;color:#fff}

.task-area{width:100%;font-size:9px;line-height:1.4;border:none;background:transparent;resize:none;overflow:hidden;color:#333;font-family:Arial,sans-serif;padding:0;display:block;field-sizing:content;min-height:30px}
.task-area:focus{outline:none;background:#f0f7ff}
.task-area::placeholder{color:#bbb}
.drop-zone{min-height:36px;border-radius:4px;width:100%}
.drop-zone textarea{width:100%;font-size:9px;line-height:1.4;border:none;background:transparent;resize:none;overflow:hidden;color:#333;font-family:Arial,sans-serif;padding:0;display:block;field-sizing:content;min-height:30px}
.drop-zone textarea:focus{outline:none;background:#f0f7ff}
.drop-zone textarea::placeholder{color:#bbb}
.urlaub-lbl{font-size:9px;color:#993C1D;font-weight:700;padding:3px 2px;display:flex;align-items:center;gap:3px}
.proj-sep-row td{height:6px;background:#e8e8e8;border:none}

/* KW Header Row */
.kw-header-row th{background:#2a2a4a;color:#fff;font-size:9px;font-weight:700;text-align:center;padding:3px;border:1px solid #444}
.kw-header-row th.col-label{background:#1a1a2e;position:sticky;left:0;z-index:4}

/* OTHER TABS */
.ma-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:16px;background:#e8e8e8}
.ma-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.urlaub-list,.proj-list{padding:14px;display:flex;flex-direction:column;gap:8px;background:#e8e8e8;min-height:200px}
.list-item{background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 13px;box-shadow:0 1px 2px rgba(0,0,0,0.06)}
.badge{font-size:9px;padding:2px 7px;border-radius:10px;background:#E6F1FB;color:#185FA5;font-weight:700}

/* MODAL */
.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:flex;align-items:flex-start;justify-content:center;padding:20px;z-index:9500;overflow-y:auto}
.modal{background:#fff;border-radius:8px;border:1px solid #ccc;padding:18px;width:390px;max-width:95%;box-shadow:0 8px 30px rgba(0,0,0,0.2)}
.modal h3{font-size:11px;font-weight:700;margin-bottom:13px;color:#185FA5;border-bottom:1px solid #eee;padding-bottom:6px}
.fg{margin-bottom:10px}.fg label{font-size:9px;color:#666;display:block;margin-bottom:3px;font-weight:600}
.fg input,.fg select{width:100%;font-size:9px;padding:4px 6px;border:1px solid #ccc;border-radius:4px}
.ma-rows-form{display:flex;flex-direction:column;gap:5px;border:1px solid #ddd;border-radius:5px;padding:7px;max-height:170px;overflow-y:auto;background:#f9f9f9}
.ma-row-form{display:grid;grid-template-columns:1fr 85px 85px 28px;gap:4px;align-items:center;padding:3px 4px;border-radius:4px;background:#fff;border:0.5px solid #eee}
.modal-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:13px;padding-top:10px;border-top:1px solid #eee}

/* Footer */
.footer{background:#1a1a2e;color:#888;font-size:8px;text-align:center;padding:6px;margin-top:auto}

/* KONTEXTMENÜ */
.ctx-submenu-trigger{position:relative}
.ctx-submenu{display:none;position:absolute;left:100%;top:0;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.15);min-width:180px;z-index:10001;padding:4px 0}
.ctx-submenu-trigger:hover .ctx-submenu{display:block}
.ctx-submenu .ctx-item{display:flex;align-items:center;gap:7px}
.ctx-menu{position:fixed;z-index:5000;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,0.18);min-width:170px;padding:4px 0;user-select:none}
.ctx-item{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:10px;color:#333;cursor:pointer;white-space:nowrap}
.ctx-item:hover{background:#E6F1FB;color:#185FA5}
.ctx-item.danger:hover{background:#fdecea;color:#A32D2D}
.ctx-item i{font-size:13px;width:16px;text-align:center}
.ctx-sep{height:1px;background:#eee;margin:3px 0}
.ctx-header{padding:5px 14px 3px;font-size:8px;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}

/* Quick-Entry Modal */
.quick-modal{background:#fff;border-radius:8px;border:1px solid #ccc;padding:16px;width:320px;max-width:95%;box-shadow:0 8px 30px rgba(0,0,0,0.2)}
.quick-modal h3{font-size:11px;font-weight:700;margin-bottom:12px;color:#185FA5;border-bottom:1px solid #eee;padding-bottom:6px}

/* CHECKLISTE */
.kachel-summary{display:flex;align-items:center;gap:4px;padding:3px 5px;border-radius:4px;cursor:grab;border:1px solid #ddd;background:#fff;user-select:none;min-height:28px}
.kachel-summary:hover{border-color:#185FA5;background:#f0f7ff}
.kachel-summary:active{cursor:grabbing}
.kachel-summary::before{content:'⠿';font-size:10px;color:#ccc;flex-shrink:0;margin-right:1px}
.kachel-chevron{font-size:9px;color:#999;transition:transform 0.15s;flex-shrink:0;display:inline-block}
.kachel-chevron.open{transform:rotate(90deg)}
.kachel-summary-text{font-size:9px;color:#333;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kachel-badge{font-size:8px;padding:1px 5px;border-radius:8px;font-weight:700;flex-shrink:0;white-space:nowrap;background:#e6f1fb;color:#185FA5}
.kachel-badge.all-done{background:#e1f5ee;color:#0F6E56}
.task-list{display:none;margin-top:3px;border:1px solid #ddd;border-radius:4px;background:#fff;padding:4px}
.task-list.open{display:block}
.task-row-cl{display:flex;align-items:center;gap:5px;padding:3px 2px;cursor:pointer;border-radius:3px}
.task-row-cl:hover{background:#f0f7ff}
.cl-circle{width:13px;height:13px;border-radius:50%;border:1.5px solid #185FA5;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:7px;color:transparent}
.cl-circle.done{background:#185FA5;color:#fff}
.cl-text{font-size:9px;color:#333;flex:1;line-height:1.3}
.cl-text.done{text-decoration:line-through;color:#bbb}
.cl-add{display:flex;align-items:center;gap:3px;padding:3px 2px;font-size:9px;color:#185FA5;cursor:pointer;border-top:1px solid #f0f0f0;margin-top:2px;padding-top:4px}
.cl-add:hover{background:#f0f7ff;border-radius:3px}
.cl-del-btn{opacity:0;font-size:9px;color:#A32D2D;cursor:pointer;margin-left:auto;padding:0 2px;flex-shrink:0;transition:opacity 0.15s}
.task-row-cl:hover .cl-del-btn{opacity:1}
.print-modal{background:#fff;border-radius:8px;border:1px solid #ccc;padding:0;width:480px;max-width:95vw;box-shadow:0 8px 30px rgba(0,0,0,0.2);max-height:90vh;overflow:hidden;position:fixed;top:40px;left:50%;transform:translateX(-50%);z-index:1100;display:flex;flex-direction:column}
.print-modal-header{padding:12px 16px 10px;border-bottom:0.5px solid #eee;display:flex;align-items:center;gap:8px;cursor:grab;user-select:none;background:#1a1a2e;border-radius:8px 8px 0 0;flex-shrink:0}
.print-modal-header:active{cursor:grabbing}
.print-modal-header i{color:#185FA5;font-size:16px}
.print-modal-header span{color:#fff;font-size:12px;font-weight:700;flex:1}
.print-modal-body{padding:14px 16px;overflow-y:auto;flex:1;min-height:0}
.print-modal-footer{padding:10px 16px;border-top:1px solid #eee;background:#fff;display:flex;gap:7px;justify-content:flex-end;flex-shrink:0;border-radius:0 0 8px 8px}
.print-modal h3{font-size:11px;font-weight:700;margin-bottom:13px;color:#185FA5;border-bottom:1px solid #eee;padding-bottom:6px}

/* DRUCKVORSCHAU (im Modal) */
.print-preview{background:#fff;border:1px solid #ccc;border-radius:4px;padding:16px;margin-top:12px;font-family:Arial,sans-serif}
.print-preview .pv-logo{display:flex;align-items:center;gap:12px;margin-bottom:12px;border-bottom:2px solid #185FA5;padding-bottom:10px}
.print-preview .pv-logo img{height:36px}
.print-preview .pv-logo-title{font-size:13px;font-weight:700;color:#1a1a2e;letter-spacing:0.5px}
.print-preview .pv-title{font-size:11px;font-weight:700;color:#185FA5;margin-bottom:10px}
.print-preview .pv-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.print-preview .pv-field{background:#f5f8fc;border:1px solid #dde6f0;border-radius:4px;padding:6px 9px}
.print-preview .pv-field label{font-size:8px;color:#888;font-weight:700;display:block;text-transform:uppercase;letter-spacing:0.4px;margin-bottom:2px}
.print-preview .pv-field span{font-size:10px;color:#222;font-weight:600}
.print-preview .pv-tasks{margin-top:10px}
.print-preview .pv-tasks-title{font-size:9px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:0.4px;margin-bottom:6px;border-bottom:1px solid #eee;padding-bottom:3px}
.print-preview .pv-task-row{display:grid;grid-template-columns:180px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #f0f0f0;align-items:start}
.print-preview .pv-task-row:last-child{border-bottom:none}
.print-preview .pv-proj{font-size:9px;font-weight:700;color:#185FA5}
.print-preview .pv-proj-kuerzel{font-size:8px;color:#888;margin-top:1px}
.print-preview .pv-task-text{font-size:9px;color:#333;white-space:pre-wrap;line-height:1.4}
.print-preview .pv-empty{font-size:9px;color:#aaa;font-style:italic;text-align:center;padding:12px}
.print-preview .pv-sign{margin-top:16px;padding-top:10px;border-top:1px solid #ddd;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.print-preview .pv-sign-field{border-top:1px solid #999;padding-top:4px;font-size:8px;color:#888;text-align:center;margin-top:20px}

/* DRUCKEN */
@media print{
  body > *:not(#print-area){display:none!important}
  #print-area{display:block!important;position:static!important;padding:20px}
  #print-area:empty{display:none!important}
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}

/* LOGIN */
/* login via inline styles */
.login-card{background:#fff;border-radius:12px;padding:28px 32px;width:320px;box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.login-card h2{font-size:14px;font-weight:700;color:#1a1a2e;margin-bottom:4px}
.login-card p{font-size:9px;color:#888;margin-bottom:18px}
.login-logo{height:50px;margin-bottom:16px}
.pin-dots{display:flex;gap:10px;justify-content:center;margin:14px 0}
.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid #ddd;background:#fff;transition:all 0.15s}
.pin-dot.filled{background:#185FA5;border-color:#185FA5}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.pin-btn{padding:12px;font-size:14px;font-weight:700;border:1px solid #eee;border-radius:8px;background:#f9f9f9;cursor:pointer;text-align:center;color:#333}
.pin-btn:hover{background:#e6f1fb;border-color:#185FA5;color:#185FA5}
.pin-btn.del{color:#A32D2D;font-size:11px}
.login-ma-select{width:100%;font-size:10px;padding:6px 8px;border:1px solid #ddd;border-radius:6px;margin-bottom:10px}
.login-error{color:#A32D2D;font-size:9px;text-align:center;margin-top:6px;min-height:14px}

/* STARTSEITE */
#panel-start{min-height:100vh;background:#f0f2f5;font-family:Arial,sans-serif}
.start-header{background:linear-gradient(120deg,#1a1a2e 0%,#0C447C 100%);padding:16px 28px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 16px rgba(0,0,0,0.25);position:sticky;top:0;z-index:10}
.start-header-info{flex:1}
.start-header-title{color:#fff;font-size:15px;font-weight:700;letter-spacing:0.3px}
.start-header-sub{color:rgba(255,255,255,0.45);font-size:10px;margin-top:2px;letter-spacing:0.5px}
.start-user{display:flex;align-items:center;gap:8px}
.start-user-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#185FA5,#0C447C);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;border:2px solid rgba(255,255,255,0.3)}
.start-user-name{color:rgba(255,255,255,0.8);font-size:11px;font-weight:600}
.start-body{padding:28px 32px;max-width:960px;margin:0 auto}
.start-welcome{margin-bottom:24px}
.start-welcome-title{font-size:28px;font-weight:700;color:#1a1a2e;letter-spacing:-0.5px}
.start-welcome-sub{font-size:12px;color:#888;margin-top:5px}
.start-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px}
.start-stat{border-radius:14px;padding:18px 20px;position:relative;overflow:hidden;border:none}
.start-stat-val{font-size:32px;font-weight:700;line-height:1;letter-spacing:-1px}
.start-stat-lbl{font-size:10px;margin-top:6px;font-weight:600;opacity:0.8;display:flex;align-items:center;gap:5px}
.start-section-lbl{font-size:9px;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.start-section-lbl::after{content:'';flex:1;height:1px;background:#eeece8}
.start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.start-card{background:#fff;border:1px solid #eeece8;border-radius:14px;padding:16px 14px 12px;cursor:pointer;transition:all 0.2s ease;display:flex;flex-direction:column;gap:9px;position:relative;overflow:hidden}
.start-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0;transition:opacity 0.2s}
.start-card:hover{border-color:transparent;box-shadow:0 6px 24px rgba(0,0,0,0.1);transform:translateY(-3px)}
.start-card:hover::after{opacity:1}
.start-card.disabled{opacity:0.35;cursor:not-allowed;pointer-events:none}
.start-card-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px}
.start-card-icon.blue{background:linear-gradient(135deg,#e6f1fb,#c5d9f0);color:#185FA5}
.start-card-icon.teal{background:linear-gradient(135deg,#e1f5ee,#b5e0cc);color:#0F6E56}
.start-card-icon.amber{background:linear-gradient(135deg,#faeeda,#f5d4a0);color:#BA7517}
.start-card-icon.purple{background:linear-gradient(135deg,#eeedfe,#d5d2f8);color:#533AB7}
.start-card-icon.coral{background:linear-gradient(135deg,#faece7,#f2c8bc);color:#993C1D}
.start-card-icon.gray{background:linear-gradient(135deg,#f1efe8,#e2dfd6);color:#5F5E5A}
.start-card-name{font-size:12px;font-weight:700;color:#1a1a2e;line-height:1.3}
.start-card-desc{font-size:9px;color:#999;line-height:1.5;flex:1}
.start-card-arr{font-size:13px;color:#ddd;align-self:flex-end;transition:color 0.2s,transform 0.2s}
.start-card:hover .start-card-arr{transform:translateX(4px)}
.start-soon{position:absolute;top:12px;right:12px;font-size:8px;padding:2px 7px;border-radius:6px;background:#f1efe8;color:#999;font-weight:700;letter-spacing:0.3px}

/* ZEITERFASSUNG */
.ze-wrap{background:#e8e8e8;height:calc(100vh - 48px);overflow-y:auto;padding-bottom:70px;box-sizing:border-box}
.ze-date-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-shrink:0}
.ze-card{background:#fff;border-radius:8px;border:1px solid #ddd;padding:14px;margin-bottom:10px;overflow:hidden}
.ze-proj-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.ze-proj-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.ze-proj-name{font-size:11px;font-weight:700;flex:1}
.ze-time-row{display:grid;grid-template-columns:1fr 55px;gap:8px;align-items:center}
.ze-time-block{background:#1a1a2e;border-radius:8px;padding:7px 6px;text-align:center;width:100%;min-width:0}
.ze-time-block label{display:block;font-size:8px;color:#888;text-transform:uppercase;letter-spacing:0.6px;margin-bottom:3px;font-weight:600}
.ze-time-display{font-family:'Courier New',monospace;font-size:18px;font-weight:700;letter-spacing:2px;line-height:1;margin-bottom:5px}
.ze-time-display .ze-tv{color:#fff}
.ze-time-display .ze-tc{color:#185FA5}
.ze-time-btns{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.ze-time-btn-group{display:flex;align-items:center;gap:2px;justify-content:center}
.ze-tl{font-size:7px;color:#555;white-space:nowrap}
.ze-tb{background:#185FA5;color:#fff;border:none;border-radius:3px;width:18px;height:16px;font-size:10px;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ze-tb:hover{background:#0C447C}
.ze-tb.clr{background:#5F5E5A;width:100%;margin-top:3px;border-radius:3px;padding:2px;font-size:8px;cursor:pointer;color:#fff;border:none}
.ze-stunden{text-align:center}
.ze-stunden-val{font-size:18px;font-weight:700;color:#0F6E56;font-family:'Courier New',monospace;display:block}
.ze-stunden-lbl{font-size:8px;color:#888;text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;display:block}
.ze-total{background:#1a1a2e;color:#fff;border-radius:8px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.ze-total-label{font-size:10px;color:#aaa}
.ze-total-val{font-size:14px;font-weight:700;color:#fff}
.ze-add-btn{width:100%;padding:8px;border:1.5px dashed #185FA5;border-radius:6px;background:transparent;color:#185FA5;font-size:10px;cursor:pointer;font-weight:600}
.ze-add-btn:hover{background:#e6f1fb}
.ze-ma-info{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #ddd;margin-bottom:12px}
.ze-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;flex-shrink:0}

/* TELEFON FORMATIERUNG */
input.tel-fmt{letter-spacing:0.3px}
input.tel-fmt:focus{border-color:#185FA5}
.kt-grp-label{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:0.8px;padding:9px 13px 4px;font-weight:700}.kt-grp-header:hover{background:#eceae6!important}
.kt-item{display:flex;align-items:center;gap:9px;padding:9px 13px;cursor:pointer;border-bottom:0.5px solid #e8e6e2}
.kt-item:hover{background:#eeecea}
.kt-item.active{background:#e6f1fb;border-left:3px solid #185FA5}
.kt-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.kt-detail-header{padding:16px 20px;border-bottom:1px solid #e8e8e8;display:flex;align-items:flex-start;gap:14px;background:#fff}
.kt-detail-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;color:#fff;flex-shrink:0}
.kt-tabs{display:flex;border-bottom:1px solid #e8e8e8;padding:0 16px;overflow-x:auto;background:#fff}
.kt-tab{font-size:13px;padding:9px 13px;cursor:pointer;color:#888;border-bottom:2px solid transparent;white-space:nowrap;margin-bottom:-1px}
.kt-tab.active{color:#185FA5;border-bottom-color:#185FA5;font-weight:700}
.kt-body{flex:1;overflow-y:auto;padding:16px 20px;background:#fff}
.kt-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.kt-field{background:#f5f7fa;border-radius:5px;padding:9px 12px;border:1px solid #eee}
.kt-field.full{grid-column:1/-1}
.kt-field-label{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:0.4px;margin-bottom:3px;font-weight:700}
.kt-field-val{font-size:14px;color:#1a1a2e;font-weight:500}
.kt-field-val.link{color:#185FA5;cursor:pointer}
.kt-section{font-size:11px;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;margin-top:14px;border-bottom:1px solid #eee;padding-bottom:4px}
.kt-right-item{display:flex;align-items:center;justify-content:space-between;background:#f5f7fa;border-radius:5px;padding:11px 14px;margin-bottom:7px;border:1px solid #eee}
.kt-ansp-card{background:#f5f7fa;border-radius:6px;padding:12px 14px;margin-bottom:7px;border-left:3px solid #185FA5;border:1px solid #eee;border-left:3px solid #185FA5}
.kt-qual-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee}
.kt-qual-row:last-child{border-bottom:none}
.kt-doc-btn{font-size:10px;padding:3px 10px;border-radius:4px;border:1px solid #ddd;background:#fff;color:#555;cursor:pointer;display:flex;align-items:center;gap:4px}
.kt-doc-btn.uploaded{background:#e6f1fb;color:#0C447C;border-color:#B5D4F4}

/* FILTER TABS (reuse) */
.filter-tab{font-size:12px;padding:4px 10px;border-radius:11px;cursor:pointer;color:#888;border:0.5px solid #ddd;white-space:nowrap;background:#fff}
.filter-tab.active{background:#185FA5;color:#fff;border-color:#185FA5}
.filter-tab:hover:not(.active){color:#185FA5;background:#e6f1fb;border-color:#185FA5}
.ze-tagesrahmen{background:#1a1a2e;border-radius:10px;padding:12px 14px;margin-bottom:12px}
.ze-tr-title{font-size:9px;color:#aaa;text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:10px}
.ze-tr-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px}
.ze-tr-field{text-align:center}
.ze-tr-label{font-size:8px;color:#888;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px}
.ze-tr-val{font-family:'Courier New',monospace;font-size:16px;font-weight:700;color:#fff;cursor:pointer;padding:4px 6px;border-radius:5px;display:inline-block}
.ze-tr-val:hover{background:rgba(255,255,255,0.1)}
.ze-tr-val.editable{color:#185FA5}
.ze-tr-pause{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px}
.ze-tr-pause input{width:50px;font-size:11px;font-weight:700;text-align:center;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:4px;color:#fff;padding:3px 4px}
.ze-tr-pause label{font-size:9px;color:#888}
.ze-netto-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.1)}
.ze-netto-item{text-align:center}
.ze-netto-label{font-size:8px;color:#888;text-transform:uppercase;letter-spacing:0.4px;display:block}
.ze-netto-val{font-family:'Courier New',monospace;font-size:15px;font-weight:700;display:block}
.ze-netto-val.green{color:#4CAF50}
.ze-netto-val.orange{color:#FF9800}
.ze-netto-val.red{color:#F44336}

/* SCHWEBENDES MITARBEITER-FENSTER */
.ma-float-panel{position:fixed;top:120px;right:20px;width:260px;background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,0.18);border:1px solid #ddd;z-index:5000;display:none;flex-direction:column;max-height:70vh;user-select:none}
.ma-float-panel.visible{display:flex}
.ma-float-header{background:#1a1a2e;color:#fff;padding:8px 12px;border-radius:9px 9px 0 0;cursor:grab;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700}
.ma-float-header:active{cursor:grabbing}
.ma-float-date{font-size:9px;color:#185FA5;font-weight:700;padding:5px 12px;background:#f0f7ff;border-bottom:1px solid #dde6f0}
.ma-float-list{overflow-y:auto;flex:1;min-height:0}
.ma-float-row{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;border-bottom:0.5px solid #f5f5f5;transition:background 0.1s}
.ma-float-row:hover:not(.busy):not(.vacation){background:#f0f7ff}
.ma-float-row.busy{cursor:not-allowed;background:#fff8f8}
.ma-float-row.vacation{cursor:not-allowed;background:#fffbf0}
.ma-float-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.ma-float-name{font-size:10px;font-weight:600;color:#1a1a2e;flex:1;min-width:0}
.ma-float-role{font-size:8px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ma-float-status{font-size:13px;flex-shrink:0}
.ma-float-footer{padding:6px 12px;border-top:1px solid #eee;font-size:8px;color:#888;text-align:center}
@media(max-width:768px){.ma-float-panel{display:none!important}}

/* SCHWEBENDES URLAUBSANTRÄGE-FENSTER */
.up-antraege-float{position:fixed;top:120px;right:20px;width:520px;background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,0.18);border:1px solid #ddd;z-index:5000;display:none;flex-direction:column;max-height:70vh}
.up-antraege-float.visible{display:flex}
.up-antraege-float-header{background:#1a1a2e;color:#fff;padding:8px 12px;border-radius:9px 9px 0 0;cursor:grab;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;user-select:none}
.up-antraege-float-header:active{cursor:grabbing}
.up-antraege-float-body{overflow-y:auto;flex:1;min-height:0}
@media(max-width:768px){.up-antraege-float{display:none!important}}

/* ZEIT-PICKER MODAL */
.ze-picker-modal{background:#fff;border-radius:12px;border:1px solid #ddd;padding:20px;width:280px;max-width:92vw;box-shadow:0 8px 30px rgba(0,0,0,0.2)}
.ze-picker-modal h3{font-size:12px;font-weight:700;color:#185FA5;margin-bottom:4px;border-bottom:1px solid #eee;padding-bottom:8px}
.ze-picker-proj{font-size:10px;color:#888;margin-bottom:14px}
.ze-picker-block{background:#1a1a2e;border-radius:10px;padding:10px 8px;text-align:center;margin-bottom:10px}
.ze-picker-block label{display:block;font-size:9px;color:#aaa;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:6px;font-weight:600}
.ze-picker-display{font-family:'Courier New',monospace;font-size:28px;font-weight:700;letter-spacing:4px;margin-bottom:8px}
.ze-picker-display .ze-tv{color:#fff}
.ze-picker-display .ze-tc{color:#185FA5}
.ze-picker-btns{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ze-picker-group{display:flex;align-items:center;justify-content:center;gap:4px}
.ze-pb{background:#185FA5;color:#fff;border:none;border-radius:5px;width:28px;height:24px;font-size:14px;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center}
.ze-pb:hover{background:#0C447C}
.ze-pb.clr2{background:#5F5E5A;width:100%;padding:5px;font-size:9px;margin-top:5px;border-radius:5px;border:none;color:#fff;cursor:pointer}
.ze-picker-lbl{font-size:8px;color:#666;white-space:nowrap}
.ze-time-summary{display:flex;align-items:center;justify-content:space-between;background:#f5f8fc;border-radius:6px;padding:8px 10px;cursor:pointer;border:1px solid #dde6f0;margin-bottom:6px}
.ze-time-summary:hover{border-color:#185FA5;background:#e6f1fb}
.ze-time-summary-lbl{font-size:9px;color:#888;text-transform:uppercase;font-weight:600}
.ze-time-summary-val{font-family:'Courier New',monospace;font-size:15px;font-weight:700;color:#185FA5}

/* AUSWERTUNG */
.auswertung-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px}
.auswertung-card{background:#fff;border-radius:6px;border:1px solid #ddd;padding:10px;text-align:center}
.auswertung-val{font-size:18px;font-weight:700;color:#185FA5}
.auswertung-lbl{font-size:8px;color:#888;text-transform:uppercase;margin-top:2px}
.ze-table{width:100%;border-collapse:collapse;font-size:9px;background:#fff;border-radius:6px;overflow:hidden}
.ze-table th{background:#1a1a2e;color:#fff;padding:6px 8px;text-align:left;font-size:8px;font-weight:700;text-transform:uppercase}
.ze-table td{padding:6px 8px;border-bottom:1px solid #f0f0f0;color:#333}
.ze-table tr:last-child td{border-bottom:none}
/* ── PROJEKTMASKE ─────────────────────────────────────── */
#screen-projekte{display:none;height:100vh;background:#e8e8e8;flex-direction:column;font-family:Calibri,Arial,sans-serif;font-size:11px;overflow:hidden}
.pj-topbar{background:#1a1a2e;border-bottom:2px solid #185FA5;padding:8px 16px;display:flex;align-items:center;gap:8px;flex-shrink:0}
.pj-topbar-title{color:#fff;font-size:13px;font-weight:700;flex:1;letter-spacing:0.5px}
.btn-startseite{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);color:#fff;padding:6px 14px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:0.3px;transition:background 0.15s;flex-shrink:0}
.btn-startseite:hover{background:rgba(255,255,255,0.22)}
.pj-btn{font-size:11px;padding:6px 14px;border-radius:7px;border:1px solid;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-weight:700;letter-spacing:0.3px;transition:background 0.15s}
.pj-btn.blue{background:#185FA5;color:#fff;border-color:#185FA5}
.pj-btn.blue:hover{background:#0C447C}
.pj-btn.white{background:rgba(255,255,255,0.12);color:#fff;border-color:rgba(255,255,255,0.3)}
.pj-btn.white:hover{background:rgba(255,255,255,0.2)}
.pj-btn.sm{padding:3px 9px;font-size:9px}

/* PROJEKTLISTE */
.pj-list-wrap{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto}
.pj-list-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border-bottom:1px solid #ddd}
.pj-search{flex:1;font-size:9px;padding:4px 8px;border:0.5px solid #ccc;border-radius:4px;max-width:260px}
.pj-filter-row{display:flex;gap:4px;flex-wrap:wrap}
.pj-ftab{font-size:13px;padding:8px 16px;border-radius:14px;cursor:pointer;color:#555;border:0.5px solid transparent}
.pj-ftab.active{background:#185FA5;color:#fff}
.pj-ftab:hover:not(.active){background:#e6f1fb;color:#185FA5}
.pj-list-body{padding:10px 16px;display:flex;flex-direction:column;gap:6px}
.pj-row{background:#fff;border:0.5px solid #ddd;border-radius:7px;padding:10px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color 0.15s}
.pj-row:hover{border-color:#185FA5;box-shadow:0 1px 6px rgba(24,95,165,0.1)}
.pj-row-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.pj-row-main{flex:1;min-width:0}
.pj-row-name{font-size:10px;font-weight:700;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-row-sub{font-size:8px;color:#888;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-row-meta{display:flex;gap:6px;align-items:center;flex-shrink:0}
.pj-badge{font-size:7px;padding:2px 7px;border-radius:8px;font-weight:700}
.pj-badge.aktiv{background:#e1f5ee;color:#0F6E56}
.pj-badge.inaktiv{background:#f1efe8;color:#5F5E5A}
.pj-badge.typ{background:#e6f1fb;color:#185FA5}
.pj-row-arr{color:#ccc;font-size:14px}
.pj-empty{text-align:center;padding:40px;color:#bbb;font-size:11px}

/* DETAIL-SCREEN */
#screen-pj-detail{display:none;min-height:100vh;background:#e8e8e8;flex-direction:column;font-family:Calibri,Arial,sans-serif;font-size:14px}
.pjd-topbar{background:#1a1a2e;border-bottom:2px solid #185FA5;padding:8px 16px;display:flex;align-items:center;gap:8px;flex-shrink:0}
.pjd-id{font-size:9px;color:#aaa;background:rgba(255,255,255,0.12);padding:2px 8px;border-radius:3px;letter-spacing:0.3px;flex-shrink:0}
.pjd-name{color:#fff;font-size:13px;font-weight:700;flex:1;letter-spacing:0.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pjd-status{font-size:10px;padding:4px 10px;border-radius:10px;font-weight:700;flex-shrink:0}
.pjd-status.aktiv{background:#0F6E56;color:#fff}
.pjd-status.inaktiv{background:#5F5E5A;color:#fff}

/* DETAIL TABS */
.pjd-tabs{display:flex;background:#f5f5f5;border-bottom:1px solid #ccc;padding:0 14px;overflow-x:auto;flex-shrink:0}
.pjd-tab{font-size:13px;font-weight:500;padding:12px 18px;color:#555;border-bottom:3px solid transparent;white-space:nowrap;display:flex;align-items:center;gap:6px;cursor:pointer}
.pjd-tab.active{color:#185FA5;border-bottom-color:#185FA5;font-weight:700;background:#fff}
.pjd-tab i{font-size:17px}
.pjd-tab.locked{color:#ccc;cursor:default}

/* AKKORDEON */
.pjd-body{padding:12px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.pj-acc{background:#fff;border:0.5px solid #ddd;border-radius:7px;overflow:hidden}
.pj-acc-head{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;user-select:none;transition:background 0.1s}
.pj-acc-head.open{background:#f0f7ff;border-bottom:0.5px solid #c8dff5}
.pj-acc-head:not(.open):hover{background:#fafafa}
.pj-acc-ic{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pj-acc-ic i{font-size:14px}
.pj-acc-ic.blue{background:#e6f1fb} .pj-acc-ic.blue i{color:#185FA5}
.pj-acc-ic.teal{background:#e1f5ee} .pj-acc-ic.teal i{color:#0F6E56}
.pj-acc-ic.amber{background:#faeeda} .pj-acc-ic.amber i{color:#BA7517}
.pj-acc-ic.coral{background:#faece7} .pj-acc-ic.coral i{color:#993C1D}
.pj-acc-ic.purple{background:#eeedfe} .pj-acc-ic.purple i{color:#533AB7}
.pj-acc-ic.gray{background:#f1efe8} .pj-acc-ic.gray i{color:#5F5E5A}
.pj-acc-texts{flex:1;min-width:0}
.pj-acc-title{font-size:13px;font-weight:700;color:#1a1a2e}
.pj-acc-sub{font-size:10px;color:#999;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-acc-badge{font-size:7px;padding:2px 7px;border-radius:8px;font-weight:700;flex-shrink:0}
.pj-acc-badge.done{background:#e1f5ee;color:#0F6E56}
.pj-acc-badge.warn{background:#faeeda;color:#BA7517}
.pj-acc-badge.empty{background:#f1efe8;color:#888}
.pj-acc-chev{font-size:13px;color:#ccc;transition:transform 0.15s;flex-shrink:0}
.pj-acc-chev.open{transform:rotate(90deg);color:#185FA5}
.pj-acc-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-top:0.5px solid #eee}

/* FORMULAR-FELDER */
.pj-fg{display:flex;flex-direction:column;gap:3px}
.pj-fg label{font-size:9px;color:#999;font-weight:700;text-transform:uppercase;letter-spacing:0.4px}
.pj-fg input,.pj-fg select,.pj-fg textarea{font-size:12px;padding:7px 10px;border:0.5px solid #ccc;border-radius:5px;background:#fafafa;color:#333;width:100%}
.pj-fg textarea{resize:vertical;min-height:52px;font-family:Arial,sans-serif}
.pj-fg input:focus,.pj-fg select:focus,.pj-fg textarea:focus{outline:none;border-color:#185FA5;background:#fff}
.pj-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pj-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.pj-row-plz{display:grid;grid-template-columns:90px 1fr;gap:8px}
.pj-divider{height:0.5px;background:#f0f0f0}
.pj-req{color:#A32D2D}

/* PROJEKTTYP BUTTONS */
.pj-type-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}
.pj-type-btn{display:flex;align-items:center;gap:5px;padding:6px 13px;border:0.5px solid #ddd;border-radius:5px;font-size:11px;cursor:pointer;color:#666;background:#fafafa;transition:all 0.1s}
.pj-type-btn:hover{border-color:#185FA5;color:#185FA5}
.pj-type-btn.active{background:#e6f1fb;border-color:#185FA5;color:#185FA5;font-weight:700}
.pj-type-btn i{font-size:14px}

/* AKTIV TOGGLE */
.pj-aktiv-row{display:flex;align-items:center;gap:8px;background:#f5f8fc;border-radius:5px;padding:8px 10px}
.pj-toggle{width:32px;height:17px;border-radius:9px;cursor:pointer;position:relative;flex-shrink:0;transition:background 0.2s}
.pj-toggle.on{background:#0F6E56}
.pj-toggle.off{background:#ccc}
.pj-toggle-thumb{position:absolute;width:13px;height:13px;background:#fff;border-radius:50%;top:2px;transition:right 0.15s}
.pj-toggle.on .pj-toggle-thumb{right:2px}
.pj-toggle.off .pj-toggle-thumb{right:17px}
.toggle{width:44px;height:24px;border-radius:12px;cursor:pointer;position:relative;flex-shrink:0;transition:background 0.2s;display:inline-block}
.toggle.on{background:#0F6E56}
.toggle.off{background:#ccc}
.toggle-thumb{position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;transition:left 0.15s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
.toggle.on .toggle-thumb{left:23px}
.toggle.off .toggle-thumb{left:3px}
.kt-right-item{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:0.5px solid #f0f0f0}

/* MAP BUTTON */
.pj-map-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:0.5px solid #ccc;border-radius:5px;background:#fff;font-size:11px;cursor:pointer;color:#333;white-space:nowrap;height:34px}
.pj-map-btn:hover{background:#e6f1fb;border-color:#185FA5;color:#185FA5}

/* LOGIKAL TABELLE */
.pj-lk-table{width:100%;border-collapse:collapse;font-size:8px}
.pj-lk-table th{background:#f5f5f5;padding:4px 8px;text-align:left;font-weight:700;color:#888;border:0.5px solid #eee}
.pj-lk-table td{padding:5px 8px;border:0.5px solid #eee;color:#333}
.pj-lk-add{display:flex;align-items:center;gap:5px;padding:5px 8px;font-size:8px;color:#185FA5;cursor:pointer;border-top:0.5px solid #eee}
.pj-lk-add:hover{background:#f0f7ff}

/* BILD */
.pj-img-box{border:1.5px dashed #ddd;border-radius:5px;height:80px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#bbb;cursor:pointer;background:#fafafa}
.pj-img-box:hover{border-color:#185FA5;color:#185FA5}
.pj-img-box i{font-size:22px}

/* FOOTER */
.pjd-footer{background:#f5f5f5;border-top:0.5px solid #ddd;padding:8px 16px;display:flex;align-items:center;gap:6px;flex-shrink:0;position:sticky;bottom:0;z-index:10}
.pjd-footer-hint{font-size:8px;color:#bbb;flex:1}

/* PLACEHOLDER TABS */
.pjd-placeholder{padding:40px;text-align:center;color:#bbb;display:flex;flex-direction:column;align-items:center;gap:8px}
.pjd-placeholder i{font-size:32px;color:#ddd}
.pjd-placeholder span{font-size:11px}

/* ── GRUNDDATEN ─────────────────────────────────────────────── */
#screen-grunddaten{display:none;flex-direction:column;height:100vh;overflow:hidden;background:#e8e8e8;font-family:Calibri,Arial,sans-serif;font-size:11px}
.gd-topbar{background:#1a1a2e;border-bottom:2px solid #185FA5;padding:8px 16px;display:flex;align-items:center;gap:8px;flex-shrink:0}
.gd-body{display:grid;grid-template-columns:240px 1fr;flex:1;min-height:0;overflow:hidden}
.gd-sidenav{background:#fff;border-right:0.5px solid #ddd;padding:8px 0;overflow-y:auto;min-height:0}
.gd-nav-lbl{font-size:11px;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:0.6px;padding:10px 14px 4px}
.gd-nav-item{display:flex;align-items:center;gap:9px;padding:10px 14px;cursor:pointer;border-left:2px solid transparent;color:#666;font-size:13px}
.gd-nav-item i{font-size:16px;color:#aaa}
.gd-nav-item.active{color:#185FA5;font-weight:700;background:#f0f7ff;border-left-color:#185FA5}
.gd-nav-item.active i{color:#185FA5}
.gd-nav-item:hover:not(.active):not(.soon){background:#f9f9f9;color:#333}
.gd-nav-item.soon{opacity:0.45;cursor:default}
.gd-nav-soon{font-size:10px;background:#f1efe8;color:#888;padding:1px 6px;border-radius:3px;margin-left:auto}
.gd-nav-sep{height:0.5px;background:#eee;margin:6px 0}
.gd-content{padding:14px 18px;overflow-y:auto;flex:1;min-height:0;background:#e8e8e8}
.gd-content-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.gd-content-title{font-size:13px;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:6px}
.gd-content-title i{font-size:15px;color:#185FA5}
.gd-content-sub{font-size:9px;color:#888;margin-top:2px}
.gd-add-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:0.5px solid #185FA5;border-radius:6px;background:#e6f1fb;color:#0C447C;font-size:9px;font-weight:700;cursor:pointer;white-space:nowrap}
.gd-add-btn:hover{background:#185FA5;color:#fff}
.gd-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.gd-search{flex:1;min-width:160px;font-size:9px;padding:5px 8px;border:0.5px solid #ddd;border-radius:5px;background:#fafafa}
.gd-sel{font-size:8px;padding:4px 7px;border:0.5px solid #ddd;border-radius:5px;background:#fafafa;color:#333}
.gd-table-wrap{background:#fff;border:0.5px solid #ddd;border-radius:6px;overflow:hidden}
.gd-table{width:100%;border-collapse:collapse;font-size:9px}
.gd-table th{background:#2a2a4a;color:#fff;padding:8px 10px;text-align:left;font-size:8px;font-weight:700;letter-spacing:0.4px;white-space:nowrap}
.gd-table td{padding:8px 10px;border-bottom:0.5px solid #f0f0f0;color:#333;vertical-align:middle}
.gd-table tr:last-child td{border-bottom:none}
.gd-table tr:hover td{background:#f5f8fc}
.gd-color-dot{width:16px;height:16px;border-radius:50%;display:inline-block;vertical-align:-3px;border:0.5px solid rgba(0,0,0,0.12)}
.gd-badge{font-size:7px;padding:2px 6px;border-radius:4px;font-weight:700;white-space:nowrap}
.gd-badge.ral{background:#e6f1fb;color:#185FA5}
.gd-badge.db{background:#efe9f7;color:#6B3FA0}
#bmwk-farbe-select-wrap select.bm-st,#bmea-farbe-select-wrap select.bm-st{width:100%;height:32px;font-size:12px;border-radius:8px}
.gd-badge.sonder{background:#faeeda;color:#BA7517}
.gd-badge.aktiv{background:#e1f5ee;color:#0F6E56}
.gd-badge.inaktiv{background:#f1efe8;color:#888}
.gd-icon-btn{width:24px;height:24px;border-radius:4px;border:0.5px solid #eee;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#888;font-size:11px}
.gd-icon-btn:hover{background:#f5f5f5;color:#333}
.gd-icon-btn.del:hover{background:#fcebeb;color:#A32D2D;border-color:#f09595}
.gd-count{font-size:8px;color:#aaa;text-align:right;margin-top:6px}
.gd-empty{padding:40px;text-align:center;color:#bbb}
.gd-empty i{font-size:28px;display:block;margin-bottom:8px;color:#ddd}
.gd-placeholder{padding:60px 40px;text-align:center;color:#bbb;display:flex;flex-direction:column;align-items:center;gap:10px}
.gd-placeholder i{font-size:36px;color:#ddd}

/* ── BESTELLMODUL ───────────────────────────────────────────── */
#screen-bestellmodul{display:none;flex-direction:column;height:100vh;max-height:100vh;background:#f5f5f3;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px}
.bm-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #e0ddd8;background:#1a1a2e;gap:8px;flex-wrap:wrap;flex-shrink:0}
.bm-topbar-title{font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;color:#fff}
.bm-view-tabs{display:flex;gap:4px}
.bm-view-tab{padding:4px 12px;border-radius:6px;border:1px solid rgba(255,255,255,0.2);cursor:pointer;font-size:12px;background:rgba(255,255,255,0.08);color:#ccc;white-space:nowrap;user-select:none}
.bm-view-tab.active{background:#185FA5;border-color:#185FA5;color:#fff;font-weight:500}
.bm-view-tab .bm-nb2{display:inline-block;margin-left:4px;background:rgba(255,255,255,0.2);border-radius:99px;padding:1px 5px;font-size:10px}
.bm-view-tab:not(.active) .bm-nb2{background:rgba(255,255,255,0.1);color:#aaa}
#bm-projekt-header{align-items:center;gap:8px;background:rgba(255,255,255,0.07);border:0.5px solid rgba(255,255,255,0.15);border-radius:8px;padding:5px 12px;white-space:nowrap}
#bm-projekt-header #bm-header-pjnr{font-family:'Courier New',monospace;font-size:11px;font-weight:700;color:#fff;background:#185FA5;border-radius:4px;padding:2px 7px}
#bm-projekt-header #bm-header-pjname{font-size:12px;font-weight:600;color:#fff;max-width:220px;overflow:hidden;text-overflow:ellipsis}
#bm-projekt-header #bm-header-bnr{font-family:'Courier New',monospace;font-size:10px;color:#8fb8de;border-left:1px solid rgba(255,255,255,0.2);padding-left:8px}
.bm-content{flex:1;padding:14px 16px;overflow-y:auto;overflow-x:hidden;min-height:0}
.bm-panel{display:none}.bm-panel.active{display:block}
.bm-lf-tabs{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}
.bm-lf-tab{padding:5px 12px;border-radius:6px;border:1px solid #e0ddd8;cursor:pointer;font-size:12px;background:#f9f9f7;color:#888;white-space:nowrap;user-select:none}
.bm-lf-tab.active{background:#fff;color:#1a1a1a;border-color:#b0b0a8;font-weight:500}
.bm-nb{display:inline-block;margin-left:4px;background:#ededea;border-radius:99px;padding:1px 5px;font-size:10px;color:#888}
.bm-sc-bar{display:none;align-items:center;justify-content:space-between;padding:8px 12px;background:#E6F1FB;border:1px solid #85B7EB;border-radius:8px;margin-bottom:10px;gap:8px;flex-wrap:wrap}
.bm-sc-bar.show{display:flex}
.bm-tbl-wrap{overflow-x:auto;border:1px solid #e0ddd8;border-radius:8px}
.bm-tbl-wrap::-webkit-scrollbar{height:6px}
.bm-tbl-wrap::-webkit-scrollbar-thumb{background:#ccc;border-radius:99px}
.bm-tbl-wrap table{border-collapse:collapse;width:100%}
.bm-tbl-wrap th{background:#f9f9f7;padding:7px 10px;font-size:11px;font-weight:500;color:#888;border-bottom:1px solid #e0ddd8;text-align:left;white-space:nowrap}
.bm-tbl-wrap td{padding:5px 10px;border-bottom:1px solid #f0ede8;font-size:12px;vertical-align:middle;white-space:nowrap}
.bm-tbl-wrap tr:last-child td{border-bottom:none}
.bm-tbl-wrap tr:hover:not(.bm-sec-row) td{background:#fafaf8}
.bm-num{text-align:right;font-variant-numeric:tabular-nums}
.bm-cb{width:14px;height:14px;cursor:pointer;accent-color:#185FA5}
.bm-sec-row td{padding:7px 10px 5px;background:#f5f4f0;font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.08em;border-top:2px solid #d0cdc8;border-bottom:1px solid #e0ddd8}
.bm-sec-row.first td{border-top:none}
.bm-roh-row td{background:#fffbf5}
.bm-roh-row:hover td{background:#fff5e6}
.bm-ve-wrap{display:inline-flex;align-items:center;gap:3px;justify-content:flex-end}
.bm-ve-btn{width:22px;height:22px;border:1px solid #d0cdc8;border-radius:4px;background:#f5f4f0;color:#1a1a1a;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;user-select:none;line-height:1}
.bm-ve-btn:hover{background:#e8e6e2;border-color:#b0b0a8}
.bm-ve-val{display:inline-block;min-width:32px;text-align:center;padding:2px 5px;border-radius:4px;border:1px solid #d0cdc8;background:#fff;font-size:12px;cursor:text}
.bm-ve-val:focus{outline:none;border-color:#185FA5;box-shadow:0 0 0 2px rgba(24,95,165,0.1)}
.bm-ve-val.changed{border-color:#EF9F27;background:#FAEEDA}
.bm-menge-val{font-weight:500;text-align:right}
.bm-roh-badge{display:inline-block;padding:1px 7px;border-radius:99px;font-size:10px;background:#FAEEDA;color:#633806;border:1px solid #EF9F27;font-weight:500}
select.bm-st{height:24px;border:1px solid #d0cdc8;border-radius:99px;padding:0 8px;font-size:11px;cursor:pointer;background:#fff;color:#1a1a1a}
select.bm-st.st-offen{background:#FAEEDA;border-color:#EF9F27;color:#633806}
select.bm-st.st-bestellt{background:#E1F5EE;border-color:#1D9E75;color:#085041}
select.bm-st.st-zurueck{background:#f0ede8;border-color:#b0b0a8;color:#5a5a58}
.bm-footer-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid #e0ddd8;gap:8px;flex-wrap:wrap;background:#f9f9f7;flex-shrink:0;position:sticky;bottom:0;z-index:10}
.bm-stat-row{display:flex;gap:8px}
.bm-stat-chip{text-align:center;padding:5px 12px;background:#fff;border-radius:6px;border:1px solid #e0ddd8}
.bm-stat-chip .sv{font-size:15px;font-weight:500}
.bm-stat-chip .sl{font-size:10px;color:#888}
.bm-btn{height:28px;padding:0 12px;border:1px solid #d0cdc8;border-radius:6px;cursor:pointer;font-size:12px;background:#fff;color:#1a1a1a;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:inherit}
.bm-btn:hover{background:#f5f4f0}
.bm-btn-green{background:#1D9E75;border-color:#1D9E75;color:#fff}.bm-btn-green:hover{background:#0F6E56}
.bm-btn-blue{background:#185FA5;border-color:#185FA5;color:#fff}.bm-btn-blue:hover{background:#0C447C}
.bm-btn-sc{background:#003C7E;border-color:#003C7E;color:#fff}.bm-btn-sc:hover{background:#002855}
.bm-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.bm-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:2000;align-items:center;justify-content:center}
.bm-modal-overlay.show{display:flex}
.bm-modal-card{background:#fff;border:1px solid #e0ddd8;border-radius:12px;padding:20px 24px;width:400px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px rgba(0,0,0,0.15)}
.bm-modal-title{font-size:15px;font-weight:500;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.bm-modal-sub{font-size:12px;color:#888;margin-bottom:14px}
.bm-freigabe-info{background:#E6F1FB;border:1px solid #85B7EB;border-radius:6px;padding:9px 12px;font-size:12px;color:#0C447C;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bm-lock-hint{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#185FA5;background:#fff;border:1px solid #85B7EB;border-radius:99px;padding:2px 8px;margin-left:auto}
.bm-field{margin-bottom:10px}
.bm-field-lbl{font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.bm-field-inp{width:100%;height:30px;border:1px solid #d0cdc8;border-radius:6px;padding:0 10px;font-size:12px;background:#fff;color:#1a1a1a;font-family:inherit}
.bm-field-inp:focus{outline:none;border-color:#185FA5;box-shadow:0 0 0 2px rgba(24,95,165,0.1)}
.bm-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.bm-fg-lf-section{margin-bottom:24px}
.bm-fg-lf-title{font-size:13px;font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bm-fg-meta{font-size:11px;color:#888}
.bm-pill-fg{display:inline-block;padding:1px 8px;border-radius:99px;font-size:10px;background:#E1F5EE;color:#085041;border:1px solid #1D9E75;font-weight:500}
table.bm-fg-tbl{border-collapse:collapse;width:100%;font-size:12px;border:1px solid #e0ddd8;border-radius:8px;overflow:hidden}
table.bm-fg-tbl th{background:#f9f9f7;padding:5px 8px;font-size:10px;font-weight:500;color:#888;border-bottom:1px solid #e0ddd8;text-align:left}
table.bm-fg-tbl td{padding:5px 8px;border-bottom:1px solid #f0ede8}
table.bm-fg-tbl tr:last-child td{border-bottom:none}
.bm-fg-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.bm-srch-inp{height:28px;border:1px solid rgba(255,255,255,0.2);border-radius:6px;padding:0 8px;font-size:12px;width:140px;background:rgba(255,255,255,0.1);color:#fff;font-family:inherit}
.bm-srch-inp::placeholder{color:rgba(255,255,255,0.4)}
.bm-srch-inp:focus{outline:none;border-color:#185FA5;background:rgba(255,255,255,0.15)}

/* STATUS PILLS */
.bm-st-pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 0;border-radius:99px;font-size:10px;font-weight:700;cursor:pointer;width:118px;border:1px solid transparent;transition:opacity 0.1s;position:relative}
.bm-st-pill:hover{opacity:0.85}
.bm-st-pill.st-offen{background:#FAEEDA;color:#633806;border-color:#EF9F27}
.bm-st-pill.st-freigegeben{background:#E1F5EE;color:#085041;border-color:#1D9E75}
.bm-st-pill.st-bestellt{background:#E6F1FB;color:#042C53;border-color:#185FA5}
.bm-st-pill i{font-size:11px}
.bm-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#1a1a2e;color:#fff;font-size:9px;font-weight:400;padding:5px 9px;border-radius:6px;white-space:nowrap;z-index:999;pointer-events:none;line-height:1.5}
.bm-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1a1a2e}
.bm-st-pill:hover .bm-tooltip{display:block}

/* WARENKORB */
.bm-wk-proj{background:#fff;border:1px solid #e8e6e2;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.07);margin-bottom:4px;transition:box-shadow 0.2s}
.bm-wk-proj:hover{box-shadow:0 4px 16px rgba(0,0,0,0.1)}
.bm-wk-proj-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:linear-gradient(120deg,#f8f7f4 0%,#f0ede8 100%);cursor:pointer;user-select:none}
.bm-wk-proj-head:hover{background:linear-gradient(120deg,#eef4fc 0%,#ddeeff 100%)}
.bm-wk-proj-body{border-top:1px solid #eeecea}
.bm-wk-proj.collapsed .bm-wk-proj-body{display:none}
.bm-wk-proj.collapsed .bm-wk-chevron{transform:rotate(-90deg)}
.bm-wk-chevron{transition:transform 0.2s}
.bm-wk-lf-head{display:flex;align-items:center;gap:10px;padding:9px 18px;background:#fafaf8;border-bottom:0.5px solid #eeecea}
.bm-wk-col-head{display:flex;align-items:center;gap:0;padding:5px 18px;background:#eeecea;border-bottom:0.5px solid #e0ddd8;font-size:8px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:0.6px}
.bm-wk-art-row{display:flex;align-items:center;gap:0;padding:9px 18px;border-top:0.5px solid #f0ede8;transition:background 0.12s}
.bm-wk-art-row:hover{background:#f7f6f2}
.bm-wk-art-row.fg{background:linear-gradient(90deg,#f2faf7,#fff)}
.bm-wk-art-row.fg:hover{background:#e8f7f1}

/* KONTAKT-PICKER */
.pj-kt-pick-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:7px 14px;border:0.5px solid #185FA5;border-radius:5px;background:#e6f1fb;color:#185FA5;cursor:pointer;font-weight:700;transition:all 0.1s}
.pj-kt-pick-btn:hover{background:#185FA5;color:#fff}
.pj-kt-pick-btn i{font-size:11px}
.pj-kt-modal{background:#fff;border-radius:8px;border:1px solid #ccc;padding:0;width:460px;max-width:95%;box-shadow:0 8px 30px rgba(0,0,0,0.2);display:flex;flex-direction:column;max-height:80vh}
.pj-kt-modal-head{padding:12px 16px;border-bottom:0.5px solid #eee;display:flex;align-items:center;gap:8px;flex-shrink:0}
.pj-kt-modal-head h3{font-size:11px;font-weight:700;color:#185FA5;flex:1;margin:0}
.pj-kt-search{flex:1;font-size:9px;padding:4px 8px;border:0.5px solid #ccc;border-radius:4px}
.pj-kt-list{overflow-y:auto;flex:1;padding:6px 0}
.pj-kt-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;border-bottom:0.5px solid #f5f5f5}
.pj-kt-item:hover{background:#e6f1fb}
.pj-kt-item-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.pj-kt-item-name{font-size:10px;font-weight:700;color:#1a1a2e;flex:1}
.pj-kt-item-sub{font-size:8px;color:#888;margin-top:1px}

#kal-pos-tbody input[type=number]::-webkit-inner-spin-button,
#kal-pos-tbody input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#kal-pos-tbody input[type=number]{-moz-appearance:textfield}
.kg-kw-input::-webkit-inner-spin-button,
.kg-kw-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kg-kw-input{-moz-appearance:textfield}
.wpl-chip-alert{animation:wplBlink 1s infinite}
@keyframes wplBlink{0%,100%{box-shadow:0 0 0 0 rgba(208,59,59,.6)}50%{box-shadow:0 0 6px 2px rgba(208,59,59,.6)}}
.wpl-col-selected{box-shadow:inset 0 0 0 2px #533AB7 !important}

@keyframes spin{to{transform:rotate(360deg)}}

/* Inventur-Schnellerfassung: eigene, "linv-" präfixierte Klassen (kein generisches "button"/
   "input"/".karte" o.ä.), damit dieser Block ausschließlich #screen-lager-inventur betrifft und
   keine anderen Screens/Overlays der App beeinflusst. Mobile-first große Bedienelemente, analog
   zum bereits abgenommenen Entwurf (inventur-schnellerfassung-entwurf.html). */
.linv-phone{max-width:460px;margin:0 auto;padding-bottom:40px}
@media (min-width:860px){
  .linv-phone{max-width:980px;padding:0 20px 40px}
  .linv-panel-inhalt{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  .linv-karte{margin:14px 0 0}
  .linv-kopf{margin:0 -20px;border-radius:0}
  .linv-tab-leiste{margin:0 -20px}
}
.linv-kopf{background:#1a1a2e;color:#fff;padding:16px 18px;position:sticky;top:0;z-index:10}
.linv-kopf h1{margin:0;font-size:15px;display:flex;align-items:center;gap:8px}
.linv-kopf .linv-sub{font-size:11px;color:#bbb;margin-top:6px}
.linv-tab-leiste{display:flex;position:sticky;top:0;z-index:9;background:#f0f0ee;border-bottom:1.5px solid #e0ddd8}
.linv-tab-btn{flex:1;border:none;background:none;padding:12px 4px 10px;font-size:11.5px;font-weight:700;color:#888;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;border-bottom:3px solid transparent}
.linv-tab-btn .linv-icon{font-size:20px}
.linv-tab-btn.aktiv{color:#1a1a1a;border-bottom-color:#185FA5}
.linv-karte{background:#fff;border:0.5px solid #e0ddd8;border-radius:12px;margin:14px;padding:16px}
.linv-karte h2{font-size:12px;text-transform:uppercase;letter-spacing:0.4px;color:#888;margin:0 0 12px;display:flex;align-items:center;gap:6px}
.linv-karte label{font-size:11px;color:#888;display:block;margin-bottom:4px;font-weight:600}
.linv-karte input[type=text],.linv-karte input[type=number],.linv-karte select{width:100%;font-size:16px;padding:12px 10px;border:1.5px solid #e0ddd8;border-radius:8px;margin-bottom:12px;background:#fff;box-sizing:border-box}
.linv-karte input:focus,.linv-karte select:focus{outline:none;border-color:#185FA5}
.linv-btn-gross{width:100%;padding:16px;font-size:15px;font-weight:700;border-radius:10px;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}
.linv-btn-gross:active{transform:scale(0.98)}
.linv-btn-gruen{background:#0F6E56}
.linv-btn-orange{background:#c9702a}
.linv-btn-blau{background:#185FA5}
.linv-btn-hell{background:#fff;color:#1a1a1a;border:1.5px solid #e0ddd8}
.linv-btn-hell-klein{padding:10px;border-radius:8px;font-size:13px;font-weight:600;border:1.5px solid #e0ddd8;background:#fff;cursor:pointer}
.linv-zeile3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.linv-zeile2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.linv-add-zeile{display:flex;gap:6px;align-items:flex-start}
.linv-add-zeile select,.linv-add-zeile input{flex:1}
.linv-add-btn{flex-shrink:0;width:42px;height:46px;border-radius:8px;border:1.5px dashed #e0ddd8;background:#fafaf8;color:#888;font-size:18px;cursor:pointer}
.linv-gesamt-anzeige{background:#eef7f3;border:1.5px solid #bfe3d3;border-radius:8px;padding:10px 12px;text-align:center;margin-bottom:4px}
.linv-gesamt-anzeige b{font-size:22px;color:#0a5442}
.linv-einheit-umschalter{display:flex;border:1.5px solid #e0ddd8;border-radius:8px;overflow:hidden;margin-bottom:12px}
.linv-einheit-btn{flex:1;padding:10px;border:none;background:#fafaf8;color:#888;font-size:13px;font-weight:600;cursor:pointer}
.linv-einheit-btn.aktiv{background:#185FA5;color:#fff}
.linv-warnung{background:#fbe9e0;border:1.5px solid #edb896;border-radius:8px;padding:10px 12px;font-size:12.5px;color:#A32D2D;margin-bottom:12px;display:none}
.linv-warnung.linv-hinweis{background:#e3edf7;border-color:#a9c8e8;color:#185FA5}
.linv-warnung b{display:block;margin-bottom:4px}
.linv-warnung button{margin-top:8px;width:100%;padding:8px;border-radius:6px;border:1px solid currentColor;background:#fff;color:inherit;font-size:12px;font-weight:600;cursor:pointer}
.linv-foto-box{width:100%;aspect-ratio:4/3;border-radius:10px;border:1.5px dashed #e0ddd8;background:#fafaf8;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px;position:relative}
.linv-foto-box img{width:100%;height:100%;object-fit:contain}
.linv-foto-box .linv-platzhalter{color:#bbb;font-size:13px;text-align:center}
.linv-toggle-zeile{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:0.5px solid #f0efec;margin-top:4px}
.linv-toggle-zeile input[type=checkbox]{width:22px;height:22px;margin:0;flex-shrink:0}
.linv-toggle-zeile span{font-size:13px}
.linv-qr-reihe{display:flex;gap:10px;align-items:center}
.linv-qr-box{width:64px;height:64px;background:#fafaf8;border:1.5px solid #e0ddd8;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:26px;color:#bbb}
.linv-verlauf-eintrag{display:flex;justify-content:space-between;font-size:12px;padding:8px 0;border-bottom:0.5px solid #f0efec}
.linv-verlauf-eintrag:last-child{border-bottom:none}
.linv-pill{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;background:#eee;color:#777}
.linv-pill.eingang{background:#dff2ea;color:#0a5442}
.linv-pill.entnahme{background:#f7e6d8;color:#a35a20}
.linv-pill.erfasst{background:#e3edf7;color:#185FA5}
.linv-fussnote{font-size:10.5px;color:#aaa;text-align:center;padding:0 20px;line-height:1.5}
.linv-badge-pflicht{background:#f7e6d8;color:#a35a20;font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;margin-left:6px}
.linv-info-zeile{background:#f5f5f3;border-radius:8px;padding:9px 12px;font-size:12px;color:#555;margin-bottom:4px;display:none}
.linv-panel{display:none}
.linv-panel.aktiv{display:block}
.linv-quelle-pill{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:4px;vertical-align:1px}
.linv-quelle-pill.linv-lager{background:#dff2ea;color:#0a5442}
.linv-quelle-pill.linv-artikelstamm{background:#e3edf7;color:#185FA5}
.linv-kandidaten-liste{display:none;position:absolute;left:0;right:0;top:100%;margin-top:-10px;background:#fff;border:1.5px solid #185FA5;border-top:none;border-radius:0 0 8px 8px;z-index:20;max-height:220px;overflow-y:auto;box-shadow:0 6px 14px rgba(0,0,0,0.12)}
.linv-kandidat{padding:9px 12px;font-size:12.5px;cursor:pointer;border-top:0.5px solid #f0efec;display:flex;flex-direction:column;gap:2px}
.linv-kandidat:hover{background:#f5f8fc}
.linv-kandidat .linv-kandidat-titel{font-weight:600;color:#1a1a1a}
.linv-kandidat .linv-kandidat-sub{font-size:10.5px;color:#888}

.wp-tabbtn{padding:10px 16px;font-size:12px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent}
.wp-tabbtn.active{color:#185FA5;border-bottom-color:#185FA5}
.wp-tabbtn.disabled{opacity:0.35;pointer-events:none;cursor:default}
