:root{--bg: #f4f6f8;--page-bg: #f4f6f8;--panel: #ffffff;--ink: #243447;--muted: #64748b;--line: #d0d8e6;--line-soft: #e2e8f0;--primary: #256f78;--primary-dark: #1d5961;--primary-light: #e8f2f3;--primary-border: #b9d5d8;--secondary-bg: #f1f5f9;--header-bg: #ffffff;--header-text: #243447;--header-border: #dce3e9;--topbar-bg: #ffffff;--topbar-ink: #243447;--topbar-border: #dce3e9;--nav-ink: #40556b;--nav-hover-bg: #f1f5f7;--danger: #c62828;--danger-light: #fff1f2;--danger-border: #fecaca;--success: #198754;--warn-bg: #fff8e8;--warn-border: #fdba74;--warn-ink: #b54708;--radius: 14px;--radius-sm: 10px;--shadow: 0 4px 20px rgba(36, 52, 71, .09);--shadow-soft: 0 2px 10px rgba(36, 52, 71, .05)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;line-height:1.45}[hidden]{display:none!important}a{color:inherit}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:0 clamp(14px,4vw,36px);min-height:60px;background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);box-shadow:0 1px 4px #2434470f}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--topbar-ink);font-weight:800;text-decoration:none;letter-spacing:.02em;white-space:nowrap}.brand-logo{width:32px;height:32px;max-width:32px;max-height:32px;object-fit:contain;border-radius:8px}.menu-toggle{display:none;width:42px;min-height:38px;justify-self:end;border:1px solid var(--topbar-border);border-radius:10px;background:transparent;padding:0;gap:4px;flex-direction:column}.menu-toggle span{width:18px;height:2px;border-radius:2px;background:var(--topbar-ink)}.menu-panel{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.nav{display:flex;flex-wrap:wrap;gap:4px}.nav a{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--nav-ink);text-decoration:none;font-size:14px;font-weight:600;transition:background .12s ease,color .12s ease,border-color .12s ease}.nav a:hover{background:var(--nav-hover-bg);color:var(--primary-dark);border-color:transparent}.nav a.active{background:var(--primary-light);color:var(--primary-dark);border-color:var(--primary-border);font-weight:700}.logout-form{margin:0}.user-area{position:relative;flex-shrink:0}.user-avatar-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px 0 6px;border:1px solid var(--topbar-border);border-radius:999px;background:transparent;color:var(--topbar-ink);font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.user-avatar-btn:hover{background:var(--primary-light);border-color:var(--primary-border);transform:none}.user-initials{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em;flex-shrink:0}.user-name-label{color:var(--ink)}.user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow);z-index:100;overflow:hidden}.user-dropdown.open{display:block}.user-dropdown-info{padding:12px 14px;border-bottom:1px solid var(--line-soft)}.user-dropdown-info strong{display:block;font-size:14px;color:var(--ink)}.user-dropdown-info span{display:block;font-size:12px;color:var(--muted);margin-top:2px;text-transform:capitalize}.user-dropdown form{padding:8px}.user-dropdown form button{width:100%;background:var(--danger-light);border-color:var(--danger-border);color:#b42318;font-size:13px}.user-dropdown form button:hover{background:var(--danger-border);transform:none}.page{width:min(1240px,calc(100% - 28px));margin:24px auto 56px;display:grid;gap:16px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(24px,3vw,32px);line-height:1.15}h2{margin-bottom:4px;font-size:clamp(18px,2.3vw,22px)}h3{margin-bottom:4px;font-size:16px}p,.muted{color:var(--muted)}.text-danger{color:var(--danger)}.page-alert{margin-bottom:8px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--danger-border);background:var(--danger-light);color:#b42318;font-weight:700}.panel,.metric,.notice{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.panel{padding:18px}.notice{margin-bottom:8px;padding:12px 14px}.notice.error{border-color:var(--danger-border);background:var(--danger-light)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.metric{padding:18px;box-shadow:var(--shadow)}.metric span{display:block;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.metric strong{display:block;margin-top:8px;font-size:30px;line-height:1.1;color:var(--ink)}.panel-head,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-title{margin-bottom:10px}.section-title h2{margin:0}.form-grid{display:grid;gap:14px}.two-column,.two-column-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.three-column-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:600}input,select,textarea{width:100%;min-height:42px;padding:10px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:#94a3b8}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,.button:focus-visible,.nav a:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #256f7829}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.button,button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease}button:hover,.button:hover{transform:translateY(-1px)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;min-height:auto}.compact-check{color:var(--ink)}.primary{border-color:var(--primary);background:var(--primary);color:#fff}.primary:hover{border-color:var(--primary-dark);background:var(--primary-dark)}.secondary{border-color:var(--line);background:var(--secondary-bg);color:var(--ink)}.secondary:hover{background:var(--primary-light);border-color:var(--primary-border);color:var(--primary-dark)}.ghost{background:#fff;color:var(--muted);border-color:var(--line)}.ghost:hover{background:var(--secondary-bg);color:var(--ink)}.danger{border-color:var(--danger);background:var(--danger);color:#fff}.danger-zone{grid-column:1 / -1;border-color:var(--danger-border);background:#fffbfb}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line-soft)}.filter-bar label{flex:1;min-width:160px}.filter-bar label input,.filter-bar label select{width:100%}.filter-bar .filter-actions{display:flex;gap:8px;align-items:center;padding-top:18px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.tile-form{min-width:0;position:relative}.theke-tile.tile-loading{pointer-events:none;opacity:.75}.theke-tile.tile-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff26}.tile-spinner{display:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;align-items:center;justify-content:center;pointer-events:none;z-index:2}.tile-spinner.visible{display:flex}.tile-spinner svg{width:32px;height:32px;animation:spin .7s linear infinite;opacity:.9}@keyframes spin{to{transform:rotate(360deg)}}.quick-tile{width:100%;min-height:148px;display:grid;align-content:space-between;justify-items:start;gap:8px;padding:14px;border:1px solid rgba(36,52,71,.18);border-radius:14px;background:linear-gradient(150deg,#ffffff2e,#0000001a),var(--tile-color);color:#fff;text-align:left;box-shadow:0 6px 18px #2434472e}.quick-tile strong{font-size:17px;line-height:1.2}.quick-tile span,.quick-tile small{color:#ffffffeb}.tile-number{padding:3px 8px;border-radius:999px;background:#ffffff2e;font-weight:800}.tile-low-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#ffffff38;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;border:1px solid rgba(255,255,255,.4)}.empty-state{grid-column:1 / -1}.tile-editor{padding:12px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#fff}.tile-editor summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-weight:700}.tile-editor form{margin-top:12px}.theke-head{margin-bottom:4px}.theke-head h1{font-size:46px;font-weight:800;letter-spacing:-.02em}.theke-group{padding:20px 20px 16px;border-radius:16px;box-shadow:0 4px 18px #24344712}.theke-search-panel{padding:14px 18px}.theke-search{margin:0;display:grid;grid-template-columns:minmax(0,1.8fr) repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end}.theke-category-panel{padding:14px 18px}.theke-category-bar{display:flex;flex-wrap:wrap;gap:10px}.theke-category-button{min-height:42px;display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:0 14px;color:#fff;box-shadow:0 6px 18px #24344724}.theke-category-button small{opacity:.9;font-size:12px}.theke-category-button.is-reset{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:none}.theke-category-button.is-active{transform:translateY(-1px);box-shadow:0 0 0 4px #256f781f,0 8px 20px #2434472e}.theke-category-button.is-reset.is-active{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-dark)}.theke-group .panel-head{margin-bottom:16px}.theke-group .panel-head h2{font-size:40px;font-weight:800;letter-spacing:-.02em;margin:0}.theke-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.theke-tile{min-height:148px;border:0;border-radius:16px;padding:14px;background:linear-gradient(145deg,#ffffff2e,#0000001a),var(--tile-color);box-shadow:0 8px 22px #2434472e}.theke-tile strong{font-size:17px;font-weight:800;line-height:1.2}.theke-tile span,.theke-tile small{font-size:inherit;font-weight:700}.theke-tile .tile-number{font-size:inherit;font-weight:800;padding:3px 8px;border-radius:999px;background:#ffffff38}.theke-footer-panel{margin-top:2px}.auth-shell{min-height:65vh;display:grid;place-items:center}.auth-panel{width:min(440px,100%);box-shadow:var(--shadow)}.scanner-box{display:grid;gap:10px;padding:10px;border-radius:var(--radius-sm);background:#111827}.scanner-box video{width:100%;aspect-ratio:16 / 10;border-radius:8px;object-fit:cover;background:#111827}.scanner-box p{margin:0;color:#d1d5db}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line-soft);border-radius:12px;background:#fff}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:14px 10px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle}td{height:52px}th{background:#f8fafc;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:var(--primary-light)}.numeric{text-align:right;font-variant-numeric:tabular-nums}.low-stock{background:var(--warn-bg)}.low-stock td:first-child{border-left:4px solid #c76a17}.stock-warning{display:inline-flex;align-items:center;min-height:22px;margin-left:8px;padding:0 8px;border:1px solid var(--warn-border);border-radius:999px;background:#fff4e5;color:var(--warn-ink);font-size:12px;font-weight:700;white-space:nowrap}.plain-list{padding-left:18px}.stack{display:grid;gap:12px}.dropzone{padding:18px;border:2px dashed var(--line);border-radius:12px;background:var(--secondary-bg);text-align:center}.dropzone.active{border-color:var(--primary);background:var(--primary-light)}.toolbar-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.json-preview{margin:10px 0 0;max-height:260px;padding:10px;overflow:auto;border:1px solid #1f2937;border-radius:10px;background:#0f172a;color:#e5e7eb;font-size:12px;line-height:1.4}.position-form{display:contents}.ean-match-row{background:#edfdf3}.suggestion-item{font-size:12px;color:var(--muted)}.status-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:700;background:#fff}.status-open,.status-assigned{border-color:var(--primary-border);background:var(--primary-light);color:var(--primary-dark)}.status-booked{border-color:#86efac;background:#eafff2;color:#067647}.status-rejected{border-color:var(--danger-border);background:var(--danger-light);color:#b42318}.settings-row{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.settings-row-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center}.edit-row{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:8px;align-items:center}.settings-section{border-top:2px solid var(--primary-light);padding-top:6px}.settings-section h2{color:var(--primary-dark)}.table-empty td{height:auto;padding:36px 20px;text-align:center;color:var(--muted);font-size:14px}.typ-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}.typ-eingang{background:#eafff2;color:#067647;border-color:#86efac}.typ-abgang{background:var(--danger-light);color:#b42318;border-color:var(--danger-border)}.badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}.badge-aktiv{background:#eafff2;color:#067647;border-color:#86efac}.badge-inaktiv{background:var(--secondary-bg);color:var(--muted);border-color:var(--line)}.pager{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:14px}.pager-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--nav-ink);font-size:13px;font-weight:600;text-decoration:none;transition:background .1s ease,border-color .1s ease,color .1s ease;cursor:pointer}.pager-btn svg{width:18px;height:18px;flex-shrink:0;display:block}.pager-btn:hover:not(.disabled):not(.active){background:var(--nav-hover-bg);border-color:var(--primary-border);color:var(--primary-dark)}.pager-btn.active{background:var(--primary-light);border-color:var(--primary-border);color:var(--primary-dark);font-weight:700;cursor:default}.pager-btn.disabled{opacity:.35;cursor:default;pointer-events:none}.pager-ellipsis{padding:0 4px;color:var(--muted);font-size:13px;line-height:34px}@media (min-width: 921px){.scanner-box{width:min(100%,460px);justify-self:start}}@media (max-width: 920px){.topbar{grid-template-columns:1fr auto;gap:10px;padding:8px 10px}.menu-toggle{display:inline-flex}.menu-panel{grid-column:1 / -1;display:none;gap:10px;padding:10px 0;border-top:1px solid var(--topbar-border)}.menu-panel.open{display:grid}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav a,.user-area{width:100%}.user-avatar-btn{width:100%;justify-content:flex-start}.metrics,.two-column,.two-column-fields,.three-column-fields,.settings-row-form,.edit-row,.theke-search{grid-template-columns:1fr}.theke-head h1{font-size:36px}.theke-group .panel-head h2{font-size:30px}.theke-tile strong{font-size:17px}.page-head,.panel-head,.toolbar{align-items:stretch;flex-direction:column}}@media (max-width: 520px){.page{width:calc(100% - 20px);margin-top:14px}.brand{font-size:17px}.brand-logo{width:28px;height:28px}.nav{grid-template-columns:1fr}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-tile{min-height:118px;padding:12px}.quick-tile strong{font-size:15px}.theke-grid,.theke-search{grid-template-columns:1fr}.theke-category-bar{gap:8px}.theke-category-button{width:100%;justify-content:space-between}.theke-head h1{font-size:30px}.theke-group .panel-head h2{font-size:24px}.theke-tile strong{font-size:15px}.inline-field{grid-template-columns:1fr}}
