:root{--primary: #55b6a1;--primary-dark: #449987;--primary-light: #6ec4b0;--accent: #d12020;--accent-hover: #b01a1a;--bg: #f4f9f8;--surface: #ffffff;--border: #c8e0da;--text: #1a1a1a;--text-muted: #5a6b68;--danger: #d12020;--success: #55b6a1;--shadow: 0 2px 8px rgba(85, 182, 161, .15);--surface-muted: #f8fcfb;--surface-hover: #eef7f5;--readonly-bg: #f5f7fa;--login-surface: #ffffff;--login-shadow: 0 8px 32px rgba(0, 0, 0, .12);--modal-overlay: rgba(0, 0, 0, .5);--focus-ring: 0 0 0 3px rgba(85, 182, 161, .2);--input-bg: #ffffff;--input-text: #1a1a1a;--input-placeholder: #7a8a87;--table-header-text: #ffffff;--button-text: #ffffff;--alert-error-bg: #fdecea;--alert-error-border: #f5b7b1;--alert-error-text: #b42318;--alert-success-bg: #e8f6f3;--alert-success-border: #b8e0d6;--alert-success-text: #1f6f61;--alert-info-bg: #e8f6f3;--alert-info-border: #b8e0d6;--alert-info-text: #1f6f61;--sum-row-bg: #e8f6f3;--sum-row-text: #1a1a1a;--fw-total-bg: #d4ede6;--fw-total-text: #1a1a1a;--badge-admin-text: #ffffff;--modal-text: #1a1a1a;--table-accent-green: #92d050;--table-accent-orange: #f1a983;--table-frost-bg: #00b0f0;--table-frost-text: #0d1b1a;--transporter-bg: #fff3e8;--legend-bg: #f8fcfb;--legend-swatch-border: rgba(0, 0, 0, .15);--resizer-hover: rgba(255, 255, 255, .35);--bom-block-bg: #f8fcfb;--bom-mark-text: #10201d;--stock-negative-bg: #fdecea;--stock-negative-text: #9b2c2c;--hf-row-active-bg: #d4f0e9;--hf-row-active-outline: #55b6a1}:root[data-theme=dark]{--primary: #67c7b3;--primary-dark: #4fb39f;--primary-light: #83d5c4;--accent: #ff6b6b;--accent-hover: #ff5252;--bg: #111918;--surface: #1a2423;--border: #314341;--text: #edf4f2;--text-muted: #a8bbb7;--danger: #ff6b6b;--success: #67c7b3;--shadow: 0 10px 24px rgba(0, 0, 0, .35);--surface-muted: #202d2b;--surface-hover: #243432;--readonly-bg: #22302e;--login-surface: #1a2423;--login-shadow: 0 12px 32px rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .7);--focus-ring: 0 0 0 3px rgba(103, 199, 179, .25);--input-bg: #111918;--input-text: #edf4f2;--input-placeholder: #8ea09d;--table-header-text: #081311;--button-text: #081311;--alert-error-bg: #3a171a;--alert-error-border: #7a2e35;--alert-error-text: #ffb4bc;--alert-success-bg: #13332f;--alert-success-border: #24554f;--alert-success-text: #aee8dd;--alert-info-bg: #163632;--alert-info-border: #295952;--alert-info-text: #b8ece4;--sum-row-bg: #193a36;--sum-row-text: #edf4f2;--fw-total-bg: #1d4741;--fw-total-text: #edf4f2;--badge-admin-text: #081311;--modal-text: #edf4f2;--table-accent-green: #5d8d2b;--table-accent-orange: #9c5f36;--table-frost-bg: #1f7fa6;--table-frost-text: #edf4f2;--transporter-bg: #4a3525;--legend-bg: #202d2b;--legend-swatch-border: rgba(255, 255, 255, .22);--resizer-hover: rgba(255, 255, 255, .15);--bom-block-bg: #202d2b;--bom-mark-text: #edf4f2;--stock-negative-bg: #3a1f22;--stock-negative-text: #ffb4bc;--hf-row-active-bg: #2a4f49;--hf-row-active-outline: #67c7b3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}input,select,button,textarea{font:inherit}input,select,textarea{background:var(--input-bg);color:var(--input-text)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:var(--primary)}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);color:var(--text);padding:.6rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);border-bottom:3px solid var(--primary)}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.header-logo{height:48px;object-fit:contain}.user-info{font-size:.9rem;opacity:.9}.app-main{flex:1;padding:1.5rem;max-width:1600px;margin:0 auto;width:100%}.app-footer{text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border)}.page-title{color:var(--primary);margin-bottom:1.5rem;font-size:1.75rem}.card{background:var(--surface);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s}.btn-primary{background:var(--accent);color:var(--button-text)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--primary);color:var(--button-text)}.btn-secondary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg);border-color:var(--primary);color:var(--primary-dark)}.btn-danger{background:var(--danger);color:var(--button-text)}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:600;color:var(--text)}.form-group input,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.alert{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.alert-error{background:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.alert-success{background:var(--alert-success-bg);color:var(--alert-success-text);border:1px solid var(--alert-success-border)}.alert-info{background:var(--alert-info-bg);color:var(--alert-info-text);border:1px solid var(--alert-info-border)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.5rem .6rem;border:1px solid var(--border);text-align:left}th{background:var(--primary);color:var(--table-header-text);font-weight:600;white-space:nowrap}.th-sort-btn{display:inline-flex;align-items:center;gap:.15rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap}.th-sort-btn:hover{text-decoration:underline}.th-sort-indicator{font-size:.85em;opacity:.85}tr:nth-child(2n){background:var(--surface-muted)}tr:hover{background:var(--surface-hover)}.hf-table-resizable tbody tr:hover,.hf-table-resizable tbody tr:focus-within,.hf-table-resizable tbody tr.hf-row-pinned{background:var(--hf-row-active-bg)!important;outline:2px solid var(--hf-row-active-outline);outline-offset:-2px}.hf-table-resizable tbody tr:hover td,.hf-table-resizable tbody tr:focus-within td,.hf-table-resizable tbody tr.hf-row-pinned td{background:transparent}.hf-table-resizable tbody tr:focus-within td.hf-bom-mark-cell.hf-bom-colored,.hf-table-resizable tbody tr:focus-within td.hf-bom-mark-cell.hf-bom-multi,.hf-table-resizable tbody tr:hover td.hf-bom-mark-cell.hf-bom-colored,.hf-table-resizable tbody tr:hover td.hf-bom-mark-cell.hf-bom-multi,.hf-table-resizable tbody tr.hf-row-pinned td.hf-bom-mark-cell.hf-bom-colored,.hf-table-resizable tbody tr.hf-row-pinned td.hf-bom-mark-cell.hf-bom-multi{filter:brightness(.92)}:root[data-theme=dark] .hf-table-resizable tbody tr:focus-within td.hf-bom-mark-cell.hf-bom-colored,:root[data-theme=dark] .hf-table-resizable tbody tr:focus-within td.hf-bom-mark-cell.hf-bom-multi,:root[data-theme=dark] .hf-table-resizable tbody tr:hover td.hf-bom-mark-cell.hf-bom-colored,:root[data-theme=dark] .hf-table-resizable tbody tr:hover td.hf-bom-mark-cell.hf-bom-multi,:root[data-theme=dark] .hf-table-resizable tbody tr.hf-row-pinned td.hf-bom-mark-cell.hf-bom-colored,:root[data-theme=dark] .hf-table-resizable tbody tr.hf-row-pinned td.hf-bom-mark-cell.hf-bom-multi{filter:brightness(1.15)}.hf-table-resizable tbody tr.hf-row-pinned{cursor:default}.hf-table-resizable td.hf-col-bezeichnung{cursor:pointer}td input{width:70px;padding:.3rem .4rem;border:1px solid var(--border);border-radius:4px;text-align:right}td input.wide{width:120px}.sum-row td{background:var(--sum-row-bg);color:var(--sum-row-text);font-weight:700}.readonly-field{background:var(--readonly-bg);padding:.5rem .75rem;border-radius:4px;border:1px solid var(--border)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.dashboard-tile{background:var(--surface);border-radius:10px;padding:2rem 1.5rem;text-align:center;text-decoration:none;color:var(--primary);font-size:1.1rem;font-weight:600;box-shadow:var(--shadow);border:2px solid transparent;transition:all .2s}.dashboard-tile:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 16px #55b6a140}.dashboard-tile .tile-icon{font-size:2.5rem;margin-bottom:.75rem}.dashboard-tile .tile-description{margin-top:.45rem;font-size:.85rem;font-weight:500;color:var(--text-muted);line-height:1.35}.dashboard-tile-soon{opacity:.92;border-style:dashed}.tile-soon-badge{display:inline-block;margin-top:.65rem;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;color:var(--primary-dark);background:var(--surface-muted);border:1px solid var(--border)}.dashboard-hub-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem}.dashboard-coming-soon{max-width:560px;color:var(--text-muted)}.user-search-input{min-width:min(280px,100%);margin-left:auto;padding:.45rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit}.user-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #55b6a140}.section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.modal-wide{max-width:min(720px,96vw)}.role-picker{margin-top:.4rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);max-height:min(55vh,420px);overflow:auto}.role-picker-group{padding:.65rem .75rem;border-bottom:1px solid var(--border)}.role-picker-group:last-child{border-bottom:none}.role-picker-group-title{font-weight:700;font-size:.85rem;margin-bottom:.45rem;color:var(--text)}.role-picker-chips{display:flex;flex-wrap:wrap;gap:.45rem}.role-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;max-width:100%;padding:.4rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted, transparent);color:var(--text);font:inherit;font-size:.88rem;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.role-chip:hover{border-color:var(--primary)}.role-chip-active{border-color:var(--primary);background:#55b6a12e;box-shadow:inset 0 0 0 1px var(--primary)}.role-chip-label{font-weight:700;line-height:1.2}.role-chip-desc{font-size:.75rem;color:var(--text-muted);line-height:1.25;font-weight:400}.role-chip-active .role-chip-desc{color:var(--text);opacity:.85}.role-editor .form-row{display:flex;flex-wrap:wrap;gap:1rem}.role-editor .form-row .form-group{flex:1 1 220px}.role-perm-tiles{display:flex;flex-direction:column;gap:.75rem}.role-perm-tile{border:1px solid var(--border);border-radius:10px;background:var(--surface-muted, transparent);overflow:hidden}.role-perm-tile.is-active{border-color:var(--primary)}.role-perm-tile-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem .85rem;background:var(--surface)}.role-perm-toggle{border:none;background:transparent;cursor:pointer;font:inherit;color:var(--text-muted);padding:.15rem .35rem}.role-perm-tile-check{display:inline-flex;align-items:center;gap:.45rem;flex:1 1 auto;cursor:pointer}.role-perm-tile-actions{display:flex;gap:.35rem}.role-perm-features{padding:.35rem .85rem .75rem;border-top:1px solid var(--border)}.role-perm-feature-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.92rem}.role-perm-feature-row:last-child{border-bottom:none}.role-perm-checks{display:inline-flex;align-items:center;gap:.85rem}.role-perm-checks label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;white-space:nowrap}.dashboard-tile-button{cursor:pointer;font:inherit;width:100%}.anti-stress-tile{border-style:dashed;color:var(--primary-dark);background:linear-gradient(145deg,var(--surface) 0%,var(--surface-muted) 100%)}.anti-stress-tile:hover{border-color:var(--primary)}.anti-stress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#081412d1;display:flex;align-items:center;justify-content:center;cursor:pointer}.anti-stress-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.anti-stress-content{position:relative;z-index:1;text-align:center;max-width:min(560px,92vw);padding:2rem 1.5rem;cursor:default}.anti-stress-eyebrow{color:var(--primary-light);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:700;margin-bottom:.75rem}.anti-stress-quote{color:#edf4f2;font-size:clamp(1.35rem,3.5vw,2rem);font-weight:700;line-height:1.35;margin-bottom:1.5rem;animation:anti-stress-quote-in .45s ease;text-shadow:0 2px 16px rgba(0,0,0,.45)}.anti-stress-hint{margin-top:.85rem;color:#a8bbb7;font-size:.9rem}@keyframes anti-stress-quote-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary) 45%,var(--surface) 45%,var(--surface) 100%)}.login-card{background:var(--login-surface);border-radius:12px;padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--login-shadow);border-top:4px solid var(--accent)}.login-logo{display:block;margin:0 auto 1.5rem;height:72px;width:auto;object-fit:contain}.login-card h1{text-align:center;color:var(--text);margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;align-items:center}.hf-table th.sub{background:var(--primary-light);font-size:.8rem;text-align:center}.hf-table th.col-zugang,.hf-table td.col-zugang{background-color:var(--table-accent-green)}.hf-table th.col-verbrauch,.hf-table td.col-verbrauch{background-color:var(--table-accent-orange)}.hf-table td.col-zugang input{background-color:var(--surface);text-align:center}.hf-table td.num{text-align:right;font-variant-numeric:tabular-nums}.hf-table td input{width:60px}.stock-cell{display:flex;flex-direction:column;gap:2px;font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-inputs{display:flex;flex-direction:column;gap:2px}input.no-spinner::-webkit-outer-spin-button,input.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-spinner{-moz-appearance:textfield}.section-title{color:var(--primary-dark);margin:1.5rem 0 .75rem;font-size:1.2rem;border-bottom:2px solid var(--primary);padding-bottom:.25rem}.badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.badge-admin{background:var(--accent);color:var(--badge-admin-text)}.badge-inactive{background:var(--border);color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);color:var(--modal-text);border-radius:10px;padding:1.5rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:1rem;color:var(--primary)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.session-expired-overlay{z-index:2000}.session-expired-modal{max-width:420px}.session-expired-modal .form-group{margin-bottom:.85rem}.session-expired-modal .form-group label{display:block;margin-bottom:.3rem;font-weight:600}.session-expired-modal .form-group input{width:100%}.session-warning-banner{position:fixed;top:.75rem;left:50%;transform:translate(-50%);z-index:1500;display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:var(--transporter-bg, #fff3cd);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);max-width:calc(100vw - 2rem)}.azubi-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.55rem 1rem;background:#1f4e46;color:#e8f6f3;font-size:.95rem}.azubi-banner .btn{margin-left:auto}.azubi-dashboard-hint{color:var(--text-muted);margin:-.5rem 0 1.25rem;max-width:40rem}.dashboard-tile-azubi{border-style:dashed;border-color:var(--primary)}.login-hint{color:var(--text-muted);margin:-.5rem 0 1rem;font-size:.95rem}.app-layout-azubi .app-header{border-top:3px solid #1f4e46}.kbd-hint{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.fw-toolbar-sticky{position:sticky;top:0;z-index:20;background:var(--bg);padding:.75rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.fw-planning-card{padding:0;overflow:hidden}.fw-table-scroll{max-height:calc(100vh - 220px);overflow:auto}.fw-planning-table thead th{position:sticky;top:0;z-index:10;background:var(--primary)}.fw-planning-table tr.row-variant-frost td,tr.row-variant-frost td,.fw-planning-table tr.row-variant-frost:hover td,tr.row-variant-frost:hover td{background-color:var(--table-frost-bg);color:var(--table-frost-text)}.fw-planning-table tr.row-variant-frost:nth-child(2n) td,tr.row-variant-frost:nth-child(2n) td{background-color:var(--table-frost-bg);color:var(--table-frost-text)}.fw-planning-table tr.sum-row td{position:sticky;bottom:0;z-index:9;background:var(--sum-row-bg);color:var(--sum-row-text)}.fw-totals-card{margin-top:.5rem}.fw-totals-card table td.num{text-align:right;font-variant-numeric:tabular-nums}.fw-total-all-bt td{background:var(--fw-total-bg);color:var(--fw-total-text)}.app-main:has(.hf-planning-page){max-width:none;padding:1rem 1.25rem}.hf-planning-page{width:100%}.hf-planning-page .page-title{margin-bottom:1rem}.hf-planning-page .card{padding:1rem}.hf-table-viewport{width:100%;overflow:visible}.hf-table-resizable{width:100%;table-layout:fixed;font-size:.85rem}.hf-table-resizable th,.hf-table-resizable td{padding:.35rem .5rem;overflow:visible;white-space:nowrap;vertical-align:middle}.hf-table-resizable .hf-col-bezeichnung{overflow:visible}.hf-table-resizable .resizable-th{position:relative}.hf-table-resizable .col-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:3}.hf-table-resizable .col-resizer:hover{background:var(--resizer-hover)}.hf-table-resizable td input{width:72px;min-width:0;padding:.25rem .35rem;font-size:.82rem}.hf-table-resizable .stock-inputs-row{display:flex;flex-direction:row;gap:4px;align-items:center;justify-content:center}.hf-table-resizable td.col-zugang input{text-align:center}.hf-table-resizable .stock-cell-uk-only{text-align:center;font-variant-numeric:tabular-nums}.hf-table-resizable .stock-cell-negative,.hf-table td.col-anfang .stock-cell-negative{background:var(--stock-negative-bg);color:var(--stock-negative-text);border-radius:3px;padding:.1rem .25rem;font-weight:600}.hf-table-resizable td.num:not(.hf-uk-col),.hf-table-resizable td.col-anfang,.hf-table-resizable td.col-zugang,.hf-table-resizable td.col-verbrauch,.hf-table-resizable td.col-endbestand{text-align:center}.hf-table-resizable td.hf-uk-col,.hf-table-resizable td.hf-uk-col.num{text-align:left}.hf-uk-col{padding-left:.25rem!important}.hf-uk-cell{display:flex;align-items:center;justify-content:flex-start;gap:.35rem}.hf-uk-value{min-width:1.5rem;font-variant-numeric:tabular-nums}.hf-note-btn{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface-muted);color:var(--text-muted);cursor:pointer;flex-shrink:0}.hf-note-btn svg{width:.95rem;height:.95rem}.hf-note-btn:hover{background:var(--surface-hover);color:var(--text)}.hf-note-btn-active{background:var(--primary);border-color:var(--primary-dark);color:var(--button-text)}.hf-note-btn-active:hover{background:var(--primary-dark);color:var(--button-text)}.hf-note-modal textarea{width:100%;min-height:8rem;resize:vertical}.hf-note-remind-check{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.95rem;cursor:pointer}.hf-note-modal-meta{margin:-.35rem 0 1rem;color:var(--text-muted);font-size:.9rem}.hf-artikelnr-cell{cursor:pointer;-webkit-user-select:none;user-select:none}.hf-artikelnr-marked,.hf-artikelnr-marked-inline{font-weight:600}.hf-color-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.hf-color-picker{position:fixed;z-index:81;min-width:180px;padding:.65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.hf-color-picker-swatches{display:grid;grid-template-columns:repeat(4,1.55rem);gap:.4rem;margin-bottom:.55rem}.hf-color-swatch{width:1.55rem;height:1.55rem;padding:0;border:2px solid transparent;border-radius:4px;cursor:pointer}.hf-color-swatch:hover{transform:scale(1.08)}.hf-color-swatch-active{border-color:var(--text);box-shadow:0 0 0 1px var(--surface)}.hf-color-clear{width:100%}.hf-row-highlight{outline:2px solid var(--accent);outline-offset:-2px}.hf-reminders-btn-active{border-color:var(--accent);color:var(--accent)}.hf-reminders-modal{max-width:720px;width:min(96vw,720px)}.hf-reminders-list{display:flex;flex-direction:column;gap:.65rem;max-height:420px;overflow:auto;margin-bottom:1rem}.hf-reminder-item{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;background:var(--surface-muted)}.hf-reminder-main{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:baseline}.hf-reminder-bt{font-weight:700;color:var(--accent)}.hf-reminder-nr{font-variant-numeric:tabular-nums;font-weight:600;padding:.05rem .35rem;border-radius:4px}.hf-reminder-desc{color:var(--text-muted);font-size:.9rem}.hf-reminder-note{margin:.45rem 0 0;white-space:pre-wrap;font-size:.92rem}.hf-reminder-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.55rem}.hf-reminder-flag{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;cursor:pointer}.hf-sum-row td,.hf-total-row td,.hf-transporter-row td{background:var(--sum-row-bg);color:var(--sum-row-text);font-weight:700}.hf-totals-card{margin-top:.5rem}.hf-totals-table{width:100%;table-layout:fixed;font-size:.9rem}.hf-totals-table th,.hf-totals-table td{padding:.5rem .6rem;border:1px solid var(--border);text-align:center}.hf-totals-table td:first-child{text-align:left}.hf-transporter-row td{background:var(--transporter-bg)}.hf-day-header{display:flex;flex-direction:column;align-items:center;gap:.35rem}.hf-day-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}.hf-day-action-btn,.hf-auto-zugang-btn{font-size:.78rem;font-weight:600;padding:.28rem .55rem;line-height:1.2;white-space:nowrap;border:1px solid var(--border);box-shadow:0 1px 2px #0000001f}.hf-day-action-btn:disabled,.hf-auto-zugang-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.hf-day-action-btn-stash{background:var(--accent);border-color:var(--accent-hover);color:var(--button-text)}.hf-day-action-btn-stash:hover:not(:disabled){background:var(--accent-hover)}@media print{.hf-day-action-btn,.hf-auto-zugang-btn,.hf-day-actions{display:none!important}}.hf-add-row-toolbar{margin:0 0 1rem;align-items:center}@media print{.hf-no-print,.hf-add-row-toolbar{display:none!important}}.hf-bom-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin:0 0 1rem;padding:.65rem .85rem;background:var(--legend-bg);border:1px solid var(--border);border-radius:6px;font-size:.9rem}.hf-bom-legend-label{font-weight:600;color:var(--text-muted)}.hf-bom-legend-item{display:inline-flex;align-items:center;gap:.4rem}.hf-bom-legend-swatch{min-width:2.6rem;min-height:1.55rem;padding:.12rem .28rem;border:1px solid var(--legend-swatch-border);border-radius:3px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;letter-spacing:.01em;line-height:1.15;text-align:center;white-space:nowrap;print-color-adjust:exact;-webkit-print-color-adjust:exact}.hf-bom-legend-swatch-multi{background:linear-gradient(90deg,#b8e08a,#b8e08a 25%,#90caf9 25%,#90caf9 50%,#ffab91 50%,#ffab91 75%,#ce93d8 75%,#ce93d8)}:root[data-theme=dark] .hf-bom-legend-swatch-multi{background:linear-gradient(90deg,#5d8f2e,#5d8f2e 25%,#2e6fa8 25%,#2e6fa8 50%,#c45a38 50%,#c45a38 75%,#8b3fa0 75%,#8b3fa0)}.hf-table-resizable td.hf-bom-mark-cell.hf-bom-colored{background-color:var(--hf-bom-bg)!important;color:var(--bom-mark-text);font-weight:700}.hf-table-resizable td.hf-bom-mark-cell.hf-bom-multi{background:var(--hf-bom-bg)!important;color:var(--bom-mark-text);font-weight:700}.bom-id-overview{display:flex;flex-direction:column;gap:1.25rem}.bom-id-block{border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;background:var(--bom-block-bg)}.bom-id-title{font-size:1rem;color:var(--primary-dark);margin-bottom:.5rem}.bom-id-fw-list{font-weight:400;font-size:.9rem;color:var(--text-muted)}.bom-period-chips{display:flex;flex-wrap:wrap;gap:.35rem}.bom-period-chip{display:inline-block;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);font-size:.85rem;white-space:nowrap}.bom-period-chip-current{border-color:var(--primary);background:var(--alert-success-bg);color:var(--alert-success-text)}.bom-compare-meta{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:.75rem}.bom-compare-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.bom-diff-badge{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-weight:700;font-size:.9rem}.bom-diff-badge-added{background:var(--alert-success-bg);color:var(--alert-success-text)}.bom-diff-badge-removed{background:var(--alert-error-bg);color:var(--alert-error-text)}.bom-diff-badge-changed{background:var(--transporter-bg);color:var(--text)}.bom-diff-badge-same{background:var(--surface-muted);color:var(--text-muted)}.bom-compare-section{margin-top:1rem}.bom-compare-section h3,.bom-compare-section summary{margin-bottom:.5rem;color:var(--primary-dark)}.bom-diff-table-added tbody tr{background:var(--alert-success-bg)}.bom-diff-table-removed tbody tr{background:var(--alert-error-bg)}.bom-diff-table-changed tbody tr{background:var(--transporter-bg)}.bom-id-empty{color:var(--text-muted);font-size:.9rem}.bom-id-table{width:100%;font-size:.88rem}.bom-id-table td.num{text-align:right}@media print{@page{size:A4 landscape;margin:6mm}body{background:#fff;font-size:7pt}.app-header,.app-footer,.toolbar,.btn,.alert,.hf-print-info,.kbd-hint,.col-resizer{display:none!important}.app-main{padding:0;max-width:none}.hf-planning-page .page-title{font-size:11pt;margin-bottom:4mm}.card{box-shadow:none;border:none;padding:0;margin-bottom:4mm;page-break-inside:avoid}.hf-print-section{page-break-before:auto}.hf-print-section+.hf-print-section{page-break-before:always}.section-title{font-size:9pt;margin:2mm 0 1mm}.hf-table-viewport{overflow:visible;max-width:none}.hf-table-resizable{font-size:6pt;width:100%;table-layout:fixed}.hf-table-resizable th,.hf-table-resizable td{padding:.5mm .8mm;border:.3pt solid #999;overflow:visible;white-space:nowrap}.hf-table-resizable .col-resizer{display:none}.hf-table-resizable .hf-col-bezeichnung{white-space:nowrap;font-size:5.5pt}.hf-table-resizable td input{border:none;width:auto;padding:0;font-size:6pt;background:transparent}.hf-table th.col-zugang,.hf-table td.col-zugang{background-color:#92d050!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.hf-table th.col-verbrauch,.hf-table td.col-verbrauch{background-color:#f1a983!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.hf-table th.sub{background:#449987!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.hf-table thead th{position:static;background:var(--primary)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.save-toast{display:none!important}}.save-toast{position:fixed;top:4.75rem;left:50%;transform:translate(-50%);z-index:4000;padding:.7rem 1.4rem;border-radius:8px;background:var(--alert-success-bg);border:2px solid var(--primary);color:var(--alert-success-text);font-weight:700;font-size:1.05rem;box-shadow:var(--shadow);pointer-events:none;animation:save-toast-flash 2.2s ease-out forwards}@keyframes save-toast-flash{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.96)}12%{opacity:1;transform:translate(-50%) translateY(0) scale(1.04)}28%{transform:translate(-50%) translateY(0) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-4px) scale(1)}}.bestaende-intro{margin:0 0 1rem;color:var(--text-muted);max-width:52rem}.bestaende-filters{flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.bestaende-filters label{display:inline-flex;align-items:center;gap:.25rem;font-size:.95rem}.bestaende-filters .checkbox-label{gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.bestaende-meta{margin:.75rem 0 1rem;color:var(--text-muted);font-size:.95rem}.bestaende-bt-section{margin-top:1.5rem}.bestaende-count{font-weight:500;color:var(--text-muted);font-size:.95rem}.bestaende-empty{color:var(--text-muted);margin:.25rem 0 0}.bestaende-table tr.bestaende-row-in-week td{background:var(--alert-success-bg)}.bestaende-table tr.bestaende-row-dirty td{outline:none}.bestaende-table tr.bestaende-row-dirty .bestaende-stock-input{border-color:var(--primary);background:var(--surface);font-weight:600}.bestaende-badge-in-week{background:var(--primary);color:var(--badge-admin-text)}.bestaende-stock-input{width:6.5rem;text-align:right}.text-muted{color:var(--text-muted)}.hf-rechner-limiting td{background:var(--alert-info-bg)}.hf-rechner-limiting td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.inventur-zaehlung-hint{color:var(--text-muted);margin:-.25rem 0 1rem;max-width:40rem}.inventur-zaehlung-home,.inventur-zaehlung-count,.inventur-zaehlung-lists,.inventur-zaehlung-detail{display:flex;flex-direction:column;gap:1rem;max-width:40rem}.inventur-zaehlung-card{margin:0}.inventur-zaehlung-btn{width:100%;min-height:2.75rem;font-size:1.05rem}.inventur-zaehlung-input{font-size:1.1rem;min-height:2.75rem;width:100%}.inventur-zaehlung-row{display:flex;gap:.5rem;align-items:stretch}.inventur-zaehlung-row input{flex:1}.inventur-zaehlung-session-meta{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.inventur-zaehlung-article{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.inventur-zaehlung-qty{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.inventur-zaehlung-preview{margin:.5rem 0 .75rem}.inventur-zaehlung-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.inventur-zaehlung-list li{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;background:var(--surface-muted)}.inventur-zaehlung-list-main{display:flex;flex-direction:column;gap:.15rem}.inventur-zaehlung-list-qty{margin-top:.35rem;font-variant-numeric:tabular-nums}.inventur-zaehlung-actions{display:flex;gap:.75rem;position:sticky;bottom:.75rem;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;z-index:5}.inventur-zaehlung-actions .btn{flex:1;min-height:2.75rem}.inventur-zaehlung-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.inventur-zaehlung-filters .form-group{margin:0;min-width:7rem}.inventur-zaehlung-list-btn{display:block;width:100%;text-align:left;border:none;background:transparent;color:inherit;padding:0;cursor:pointer;font:inherit}.inventur-zaehlung-list-clickable:hover{border-color:var(--primary)}@media(max-width:640px){.inventur-zaehlung-page .page-title{font-size:1.35rem}.inventur-zaehlung-qty{grid-template-columns:1fr}.inventur-zaehlung-detail .table-wrap{font-size:.85rem}}.inventur-zaehlung-entry-actions{display:flex;flex-direction:column;gap:.5rem}.inventur-zaehlung-detail-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.inventur-zaehlung-open-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.hf-table-resizable td.col-anfang{cursor:pointer}.hf-table-resizable td.col-anfang-fixed{background:#55b6a12e}.hf-table-resizable td.col-anfang .hf-anfang-input{display:block;margin:0 auto;text-align:center}.hf-anfang-input{width:100%;min-width:3.5rem;text-align:center;font-variant-numeric:tabular-nums;font-size:inherit;padding:.2rem .3rem}.inventur-zaehlung-list-empty{opacity:.72}.hf-note-bedarf-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:640px){.hf-note-bedarf-row{grid-template-columns:1fr}}.hf-endbestand-th{vertical-align:middle;background:var(--sum-row-bg);color:var(--sum-row-text)}.hf-endbestand-sub{font-size:.75rem;font-weight:500;opacity:.85}.hf-table td.col-endbestand{background:#1a7f6e14;font-weight:600;text-align:center;min-width:4.5rem}.hf-totals-table td.num,.hf-totals-table td.col-anfang,.hf-totals-table td.col-zugang,.hf-totals-table td.col-endbestand{text-align:center}.fm-page{max-width:1200px}.fm-card{margin-bottom:1rem}.fm-section-title{font-size:1.05rem;margin:.75rem 0 .5rem}.fm-home .fm-row,.fm-form .fm-row,.fm-toolbar,.fm-meta-grid{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-bottom:.75rem}.fm-row label,.fm-meta-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;min-width:6.5rem}.fm-grow{flex:1 1 12rem}.fm-row input,.fm-row select,.fm-meta-grid input,.fm-meta-grid select,.fm-entry input,.fm-band-edit input,.fm-band-edit select{min-height:2.5rem;font-size:1rem;padding:.4rem .55rem;border:1px solid var(--border, #ccc);border-radius:6px;background:var(--input-bg, #fff);color:inherit;width:100%;box-sizing:border-box}.fm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:.5rem}.fm-table{width:100%;border-collapse:collapse;font-size:.9rem}.fm-table th,.fm-table td{border:1px solid var(--border, #ccc);padding:.35rem .4rem;vertical-align:middle}.fm-table th{background:var(--table-header-bg, #f0f0f0);white-space:nowrap}.fm-table td.num,.fm-table .num{text-align:right}.fm-qty-cell{display:flex;align-items:center;gap:.25rem;min-width:4.5rem}.fm-qty-cell input{flex:1 1 auto;min-width:0}.fm-einheit{font-size:.75rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.fm-entry td{padding:.2rem}.fm-entry input{min-height:2.4rem;border-radius:4px}.fm-list{list-style:none;margin:0;padding:0}.fm-list li{display:flex;gap:.5rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border, #e0e0e0)}.fm-list-main{flex:1;text-align:left;background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:.35rem 0}.fm-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.fm-status-draft{background:#fff3cd;color:#856404}.fm-status-submitted{background:#cce5ff;color:#004085}.fm-status-erledigt{background:#d4edda;color:#155724}.fm-header{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border, #333)}.fm-company{font-weight:700}.fm-title-block{text-align:center}.fm-title-block h2{margin:0;font-size:1.35rem}.fm-bt{color:#b71c1c;font-weight:800;font-size:1.25rem}.fm-band-header{justify-self:end;background:#fff59d;color:#111;border:1px solid #333;padding:.5rem .75rem;min-width:10rem;text-align:center}.fm-band-line+.fm-band-line{margin-top:.25rem}.fm-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}.fm-total-box{display:inline-flex;flex-direction:column;align-items:flex-end;border:2px solid var(--border, #333);padding:.4rem .75rem;min-width:8rem;font-size:.85rem}.fm-total-box strong{font-size:1.25rem}.fm-footer-row{align-items:stretch;margin-top:.5rem}.fm-hint{font-size:.85rem;opacity:.85;margin:.5rem 0 0}.fm-band-edit{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border, #ddd)}.fm-toolbar{position:sticky;top:0;z-index:5;background:var(--card-bg, var(--bg, #fff));padding:.5rem 0;border-bottom:1px solid var(--border, #ddd);margin-bottom:.75rem}@media(max-width:900px){.fm-header{grid-template-columns:1fr;text-align:left}.fm-band-header{justify-self:stretch}.fm-split{grid-template-columns:1fr}.fm-title-block{text-align:left}}.edv-page{max-width:1200px}.edv-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.edv-card{margin-bottom:1rem}.edv-split{display:grid;grid-template-columns:1.1fr 1fr;gap:1rem;align-items:start}.edv-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-bottom:.65rem}.edv-row input,.edv-row select,.edv-form-grid input,.edv-form-grid select,.edv-form-grid textarea{min-height:2.4rem;font-size:1rem;padding:.35rem .5rem;border:1px solid var(--border, #ccc);border-radius:6px;background:var(--input-bg, #fff);color:inherit;width:100%;box-sizing:border-box}.edv-grow{flex:1 1 12rem}.edv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.75rem}.edv-form-grid label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.edv-span2{grid-column:1 / -1}.edv-toggle{flex-direction:row!important;align-items:center;gap:.55rem!important;cursor:pointer;-webkit-user-select:none;user-select:none;align-self:end;padding-bottom:.35rem}.edv-toggle-label{font-size:.85rem;font-weight:600;color:var(--text)}.edv-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.edv-toggle-track{position:relative;display:inline-flex;align-items:center;width:2.1rem;height:1.15rem;border-radius:999px;background:var(--border, #666);transition:background .15s ease;flex-shrink:0}.edv-toggle-thumb{position:absolute;left:.12rem;width:.9rem;height:.9rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.edv-toggle input:checked+.edv-toggle-track{background:var(--primary)}.edv-toggle input:checked+.edv-toggle-track .edv-toggle-thumb{transform:translate(.9rem)}.edv-toggle input:focus-visible+.edv-toggle-track{outline:2px solid var(--primary);outline-offset:2px}.edv-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;background:var(--surface-muted, #eee);font-size:.85rem;font-weight:600}.edv-book-box{border:1px solid var(--border, #ccc);border-radius:8px;padding:.75rem;margin-bottom:.75rem;background:var(--surface-muted, rgba(85, 182, 161, .08))}.edv-row-warn{background:#ffc1071f}.edv-row-danger{background:#dc35451f}.edv-simple-list{list-style:none;margin:.5rem 0 0;padding:0}.edv-simple-list li{padding:.45rem 0;border-bottom:1px solid var(--border, #ddd)}.edv-simple-list-row{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-width:0}.edv-simple-list-row>span:first-child{min-width:0;word-break:break-word;line-height:1.35}.edv-list-actions{display:flex;flex-wrap:wrap;gap:.35rem}.edv-list-actions .btn{flex:0 0 auto}.edv-section-switch{display:flex;gap:.35rem;margin-left:auto}.edv-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.edv-master-grid .edv-card{min-width:0;overflow:hidden}.edv-master-grid .edv-row{flex-wrap:wrap}.edv-master-grid .edv-row .btn{flex:0 0 auto}@media(max-width:900px){.edv-split,.edv-master-grid{grid-template-columns:1fr}}
