@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{color-scheme:light dark;--font-sans: "Outfit", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--brand: #1e40af;--brand-600: #1d4ed8;--brand-500: #2563eb;--brand-100: #dbeafe;--brand-50: #eff6ff;--brand-ink: #ffffff;--ok: #16a34a;--ok-bg: #ecfdf5;--warn: #d97706;--warn-bg: #fffbeb;--bad: #dc2626;--bad-bg: #fef2f2;--info: #0284c7;--info-bg: #f0f9ff;--bg: #f7f8fa;--surface: #ffffff;--surface-muted: #f3f4f6;--surface-hover: #f9fafb;--border: #e5e7eb;--border-strong: #d1d5db;--text: #0f172a;--text-muted: #4b5563;--text-subtle: #6b7280;--text-faint: #9ca3af;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1), 0 4px 12px rgba(15, 23, 42, .06);--ring: 0 0 0 3px rgba(37, 99, 235, .18);--ease: cubic-bezier(.22, .61, .36, 1);--t-fast: .14s var(--ease);--t-base: .22s var(--ease);--sidebar-w: 240px;--topbar-h: 64px;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}@media(prefers-color-scheme:dark){:root{--bg: #0b1220;--surface: #111a2e;--surface-muted: #0e1626;--surface-hover: #16203a;--border: #1f2a44;--border-strong: #2a3656;--text: #f1f5f9;--text-muted: #cbd5e1;--text-subtle: #94a3b8;--text-faint: #64748b;--brand: #3b82f6;--brand-600: #2563eb;--brand-500: #3b82f6;--brand-100: rgba(59, 130, 246, .18);--brand-50: rgba(59, 130, 246, .1);--ok-bg: rgba(22, 163, 74, .14);--warn-bg: rgba(217, 119, 6, .14);--bad-bg: rgba(220, 38, 38, .14);--info-bg: rgba(2, 132, 199, .14);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 6px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .6);--ring: 0 0 0 3px rgba(59, 130, 246, .28)}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.15),transparent 30%),radial-gradient(circle at 88% 4%,rgba(22,163,74,.12),transparent 34%),linear-gradient(90deg,rgba(30,64,175,.045) 1px,transparent 1px),linear-gradient(0deg,rgba(30,64,175,.045) 1px,transparent 1px),var(--bg);background-size:auto,auto,92px 92px,92px 92px,auto;color:var(--text)}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:var(--ring)}::placeholder{color:var(--text-faint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.app-shell{display:grid;grid-template-columns:1fr;min-height:100vh}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;padding:20px 16px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:24px;z-index:100;transform:translate(-100%);transition:transform var(--t-base);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:fadeIn var(--t-base)}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px}.brand-logo{width:40px;height:40px;border-radius:10px;object-fit:contain;background:transparent;border:0;padding:0}.brand strong{display:block;font-size:.95rem;font-weight:800;letter-spacing:-.01em;color:var(--text)}.brand span{display:block;color:var(--text-subtle);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.nav-list{display:flex;flex-direction:column;gap:2px}.nav-list button{justify-content:flex-start;color:var(--text-muted);min-height:42px;border-radius:var(--r-md);display:inline-flex;align-items:center;gap:12px;padding:0 12px;font-weight:500;font-size:.92rem;width:100%}.nav-list button svg{width:18px;height:18px;flex-shrink:0}.nav-list button:hover{color:var(--text);background:var(--surface-muted)}.nav-list button.active{color:var(--brand-600);background:var(--brand-50);font-weight:600}.user-card{margin-top:auto;padding:12px;border-radius:var(--r-md);background:var(--surface-muted);border:1px solid var(--border);display:flex;gap:12px;align-items:center}.user-card strong{display:block;font-size:.9rem;color:var(--text);font-weight:600}.user-card span{display:block;color:var(--text-subtle);font-size:.78rem}.copyright-line,.login-copyright{display:block;color:var(--text-faint);font-size:.72rem;font-weight:600;margin-top:4px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--brand-500);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex-shrink:0;letter-spacing:.02em}.avatar.small{width:32px;height:32px;font-size:.78rem}.main{min-width:0;padding:16px;display:flex;flex-direction:column;gap:20px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);min-height:var(--topbar-h)}.topbar h1{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--text)}.topbar-subtitle{margin-top:2px;color:var(--text-subtle);font-size:.85rem}.topbar>div{min-width:0}.topbar>div:first-of-type{flex:1;min-width:0}.eyebrow{color:var(--brand-600);text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.1em;display:block;margin-bottom:2px}.primary-button,.ghost-button,.danger-button,.text-button,.modal-actions button,.demo-login button{min-height:40px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-weight:600;font-size:.88rem;white-space:nowrap}.primary-button{background:var(--brand-600);color:var(--brand-ink);box-shadow:var(--shadow-xs)}.primary-button:hover{background:var(--brand)}.primary-button:active{transform:translateY(1px)}.primary-button.full{width:100%}.primary-button:disabled{background:var(--surface-muted);color:var(--text-faint);cursor:not-allowed}.ghost-button{background:var(--surface);color:var(--text);border:1px solid var(--border)}.ghost-button:hover{background:var(--surface-muted);border-color:var(--border-strong)}.danger-button{background:var(--surface);color:var(--bad);border:1px solid var(--border)}.danger-button:hover{background:var(--bad-bg);border-color:var(--bad)}.text-button{background:transparent;color:var(--brand-600);padding:0 4px;min-height:32px;font-weight:600}.text-button:hover{color:var(--brand);text-decoration:underline}.icon-button{width:38px;height:38px;border-radius:var(--r-md);display:inline-grid;place-items:center;background:var(--surface);color:var(--text-muted);border:1px solid var(--border);flex-shrink:0}.icon-button:hover{background:var(--surface-muted);color:var(--text);border-color:var(--border-strong)}.icon-button.danger-icon:hover{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.content-grid{display:flex;flex-direction:column;gap:20px}.stack{display:flex;flex-direction:column;gap:12px}.section-header-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.section-header-row h2{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.metric-row{display:grid;grid-template-columns:1fr;gap:12px}.metric{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);display:flex;align-items:center;gap:14px;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.metric:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.metric svg{width:40px;height:40px;padding:9px;border-radius:var(--r-md);flex-shrink:0;color:var(--text-muted);background:var(--surface-muted)}.metric.blue svg{color:var(--brand-600);background:var(--brand-50)}.metric.amber svg{color:var(--warn);background:var(--warn-bg)}.metric.green svg{color:var(--ok);background:var(--ok-bg)}.metric.red svg{color:var(--bad);background:var(--bad-bg)}.metric strong{display:block;font-size:1.6rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric span{color:var(--text-subtle);font-size:.82rem;font-weight:500}.attention-band{padding:14px 16px;border-radius:var(--r-lg);background:var(--warn-bg);color:var(--text);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.attention-band>svg{color:var(--warn);flex-shrink:0;width:22px;height:22px}.attention-band div{flex:1;min-width:200px}.attention-band strong{font-weight:700;font-size:.92rem;color:var(--text)}.attention-band span{display:block;color:var(--text-muted);margin-top:2px;font-size:.84rem}.attention-band button{background:var(--warn);color:#fff;padding:8px 14px;border-radius:var(--r-md);font-weight:600;font-size:.85rem}.attention-band button:hover{filter:brightness(.95)}.attention-band.damage{background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.attention-band.damage>svg{color:var(--bad)}.two-column{display:grid;grid-template-columns:1fr;gap:16px}.panel,.inventory-card,.request-card,.info-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.panel{padding:18px}.panel-title{display:flex;gap:10px;align-items:center;margin-bottom:14px}.panel-title svg{color:var(--brand-600);width:18px;height:18px}.panel-title h2{font-size:1rem;font-weight:700;color:var(--text)}.notes{margin-top:12px;padding:10px 12px;background:var(--surface-muted);border-radius:var(--r-md);border:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.card-grid,.product-grid{display:grid;grid-template-columns:1fr;gap:14px}.product-card{padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);display:flex;flex-direction:column;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);overflow:hidden}.product-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.product-card:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:var(--ring)}.product-preview{width:100%;height:clamp(220px,18vw,300px);object-fit:contain;background:linear-gradient(135deg,#dbeafe8c,#ecfdf580),var(--surface-muted);border-bottom:1px solid var(--border)}.product-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 0}.product-icon{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--brand-600);background:var(--brand-50);border:1px solid var(--brand-100);flex-shrink:0}.product-actions{display:flex;gap:6px}.product-card>div:not(.product-topline),.product-card>small{padding:0 14px}.product-card h3{font-size:1rem;font-weight:700;color:var(--text);margin-top:10px}.product-card>span{font-size:.72rem;text-transform:uppercase;font-weight:700;color:var(--text-subtle);letter-spacing:.06em}.product-meta{display:flex;align-items:baseline;gap:6px;margin-top:6px}.product-meta strong{font-size:1.5rem;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.product-meta span{font-size:.85rem;font-weight:500;color:var(--text-subtle)}.product-card small{display:block;font-size:.78rem;font-weight:500;color:var(--text-subtle);padding-bottom:14px;margin-top:4px}.product-card .avatar{background:var(--brand-600);color:#fff;width:40px;height:40px;border-radius:var(--r-md)}.inventory-card{overflow:hidden;transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);display:flex;flex-direction:column}.inventory-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.item-image{aspect-ratio:1 / 1;min-height:220px;position:relative;display:grid;place-items:center;background:linear-gradient(180deg,var(--surface-muted) 0%,var(--surface) 100%);border-bottom:1px solid var(--border);overflow:hidden}.item-image.large{aspect-ratio:4 / 3;min-height:320px;border-radius:var(--r-lg);border:1px solid var(--border)}.item-image img{width:100%;height:100%;object-fit:contain;object-position:center center;background:linear-gradient(135deg,#dbeafe8c,#ecfdf580),var(--surface-muted)}.item-image-icon{position:absolute;color:var(--text-faint);opacity:.35;pointer-events:none}.card-body{padding:14px;display:flex;flex-direction:column;flex-grow:1}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-actions{display:flex;gap:6px;align-items:center}.category-pill{background:var(--brand-50);color:var(--brand-600);border:1px solid var(--brand-100);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px}.low-pill{background:var(--bad-bg);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px}.stock-pill{border:1px solid currentColor;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px}.stock-pill.good{color:var(--ok);background:var(--ok-bg)}.stock-pill.warn{color:var(--warn);background:var(--warn-bg)}.stock-pill.neutral{color:var(--text-subtle);background:var(--surface-muted)}.damage-pill{border:1px solid color-mix(in srgb,var(--bad) 36%,transparent);color:var(--bad);background:var(--bad-bg);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px}.inventory-card.stock-good{border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.inventory-card.stock-warn{border-color:color-mix(in srgb,var(--warn) 44%,var(--border));box-shadow:0 12px 32px #d977061c,var(--shadow-xs)}.inventory-card.stock-bad{border-color:color-mix(in srgb,var(--bad) 48%,var(--border));box-shadow:0 12px 32px #dc26261f,var(--shadow-xs)}.icon-button.damage-active,.damage-button{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 28%,var(--border));background:var(--bad-bg)}.card-body h3{font-size:1rem;font-weight:700;color:var(--text);margin:10px 0 2px}.card-body p{color:var(--text-subtle);font-size:.85rem}.card-meta{display:flex;align-items:baseline;gap:6px;margin-top:12px}.card-meta strong{font-size:1.4rem;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.card-meta span{font-size:.85rem;font-weight:500;color:var(--text-subtle)}.number-preview,.number-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.number-preview span,.number-list span{min-width:26px;height:26px;font-size:.75rem;border-radius:6px;display:grid;place-items:center;background:var(--surface-muted);border:1px solid var(--border);font-weight:600;color:var(--text);padding:0 6px;font-variant-numeric:tabular-nums}.condition-summary{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.condition-summary span{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);font-weight:500}.scope-switch,.area-switch{display:grid;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-xs)}.scope-switch{grid-template-columns:repeat(3,1fr)}.area-switch{grid-template-columns:repeat(2,1fr)}.scope-switch button,.area-switch button{min-height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--text-muted);font-weight:600;font-size:.85rem;padding:0 8px}.scope-switch button svg,.area-switch button svg{width:16px;height:16px}.scope-switch button:hover,.area-switch button:hover{color:var(--text);background:var(--surface-muted)}.scope-switch button.active,.area-switch button.active{background:var(--brand-600);color:#fff;box-shadow:var(--shadow-xs)}.inventory-toolbar{display:grid;grid-template-columns:1fr;gap:10px;align-items:center}.inventory-toolbar.product-toolbar{grid-template-columns:1fr}.toolbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}.search-box{display:flex;align-items:center;gap:8px;min-height:42px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:0 12px;color:var(--text-subtle);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.search-box:focus-within{border-color:var(--brand-500);box-shadow:var(--ring)}.search-box svg{width:16px;height:16px;flex-shrink:0}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:0;font-size:.9rem}.search-box input:focus{box-shadow:none}.inventory-toolbar select{min-height:42px;background:var(--surface)}.request-list{display:flex;flex-direction:column;gap:10px}.request-card{padding:14px 16px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.request-row{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:200px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--warn);margin-top:7px;flex-shrink:0}.status-dot.erledigt{background:var(--ok)}.status-dot.in-bearbeitung{background:var(--brand-500)}.request-row strong{display:block;font-size:.95rem;font-weight:600;color:var(--text)}.request-row span{display:block;color:var(--text-subtle);font-size:.82rem;margin-top:2px}.request-row small{display:block;color:var(--text-muted);font-size:.84rem;background:var(--surface-muted);border:1px solid var(--border);padding:6px 10px;border-radius:var(--r-sm);margin-top:8px;font-style:normal}.request-card select{min-width:140px;min-height:36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:0 10px;font-weight:600;font-size:.85rem;cursor:pointer;width:auto}.damage-row{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px;border-radius:var(--r-md);background:var(--bad-bg);border:1px solid color-mix(in srgb,var(--bad) 22%,transparent)}.damage-row svg{color:var(--bad);flex-shrink:0;margin-top:2px}.damage-row strong,.damage-entry strong{display:block;color:var(--text);font-size:.92rem;font-weight:700}.damage-row span,.damage-entry span{display:block;color:var(--text-subtle);font-size:.82rem;margin-top:2px}.damage-list{display:grid;gap:10px}.damage-entry{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:var(--r-md);background:var(--bad-bg);border:1px solid color-mix(in srgb,var(--bad) 22%,transparent)}.damage-target{display:flex;gap:12px;align-items:center;padding:12px;border-radius:var(--r-md);background:var(--surface-muted);border:1px solid var(--border)}.damage-target svg{color:var(--bad)}.damage-target span{display:block;color:var(--text-subtle);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.damage-target strong{display:block;color:var(--text);font-weight:800}.timeline{display:flex;flex-direction:column;gap:14px;position:relative}.timeline:before{content:"";position:absolute;left:3px;top:8px;bottom:8px;width:1px;background:var(--border)}.timeline-entry{display:flex;gap:12px;align-items:flex-start;position:relative}.timeline-entry>span{width:7px;height:7px;border-radius:50%;background:var(--brand-500);margin-top:7px;flex-shrink:0;box-shadow:0 0 0 3px var(--surface);z-index:1}.timeline-entry div strong{display:block;font-size:.88rem;font-weight:600;color:var(--text)}.timeline-entry div small{display:block;color:var(--text-subtle);font-size:.78rem;margin-top:2px}.empty-state{min-height:140px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-muted);color:var(--text-subtle);display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:center;text-align:center;padding:20px;font-size:.88rem}.empty-state svg{color:var(--text-faint);opacity:.6}.admin-table{display:flex;flex-direction:column;gap:8px}.admin-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.admin-row strong{color:var(--text);font-weight:600;font-size:.92rem}.admin-row span{color:var(--text-subtle);font-size:.8rem}.role-pill{font-size:.7rem;text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.04em}.role-pill.admin{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.role-pill.materialwart{background:var(--ok-bg);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}.role-pill.trainer{background:var(--brand-50);color:var(--brand-600);border:1px solid var(--brand-100)}.status.good{color:var(--ok);font-weight:600;font-size:.82rem}.status.muted{color:var(--text-faint);font-size:.82rem}.settings-grid,.detail-grid{display:grid;grid-template-columns:1fr;gap:10px}.info-tile{padding:14px}.info-tile span{display:block;color:var(--text-subtle);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.info-tile strong{display:block;margin-top:4px;font-size:1.05rem;font-weight:700;color:var(--text)}.unit-page{display:flex;flex-direction:column;gap:20px}.unit-page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.unit-page-summary{display:grid;grid-template-columns:1fr;gap:16px}.unit-grid.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.unit-card{padding:12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-xs)}.unit-card.good{border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:var(--ok-bg)}.unit-card.warn{border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:var(--warn-bg)}.unit-card.bad{border-color:color-mix(in srgb,var(--bad) 35%,transparent);background:var(--bad-bg)}.unit-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.unit-card-header strong{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.unit-card select{min-height:34px;width:100%;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);padding:0 8px;font-weight:600;font-size:.82rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:12px;animation:fadeIn var(--t-base)}.modal-card{width:min(680px,100%);max-height:min(820px,92vh);overflow-y:auto;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:20px;animation:slideUp var(--t-base)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:18px}.modal-header h2{font-size:1.1rem;font-weight:700;color:var(--text)}.item-form{display:flex;flex-direction:column;gap:14px}.item-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.82rem;color:var(--text-muted)}.item-form input,.item-form select,.item-form textarea{font-weight:500;font-size:.92rem;color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.form-error{padding:10px 12px;border-radius:var(--r-md);background:var(--bad-bg);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 30%,transparent);font-size:.85rem;font-weight:500}.form-status{padding:10px 12px;border-radius:var(--r-md);background:var(--info-bg);color:var(--info);border:1px solid color-mix(in srgb,var(--info) 30%,transparent);font-size:.85rem;font-weight:500}.upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upload-box{position:relative;min-height:70px;border:2px dashed var(--border-strong);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-subtle);cursor:pointer;transition:all var(--t-fast);background:var(--surface-muted);font-size:.88rem}.upload-button{width:100%;padding:12px}.upload-box:hover{border-color:var(--brand-500);color:var(--brand-600);background:var(--brand-50)}.upload-box input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.visually-hidden-file{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}@media(max-width:560px){.upload-actions{grid-template-columns:1fr}}.category-image-preview{height:180px;border-radius:var(--r-md);overflow:hidden;background:var(--surface-muted);border:1px solid var(--border)}.category-image-preview img{width:100%;height:100%;object-fit:contain;background:linear-gradient(135deg,#dbeafe8c,#ecfdf580),var(--surface-muted)}.upload-meta{display:flex;gap:8px;flex-wrap:wrap}.upload-meta span{padding:3px 8px;border-radius:var(--r-sm);background:var(--surface-muted);border:1px solid var(--border);font-size:.75rem;color:var(--text-subtle);font-weight:500}.reused-photo-preview{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border-radius:var(--r-md);background:var(--surface-muted);border:1px solid var(--border)}.reused-photo-preview img{width:76px;height:58px;object-fit:contain;border-radius:var(--r-sm);background:linear-gradient(135deg,#dbeafe8c,#ecfdf580),var(--surface)}.reused-photo-preview span{color:var(--text-subtle);font-size:.82rem;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:16px;margin-top:6px;flex-wrap:wrap}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--bg)}.login-panel{padding:32px 24px;display:flex;flex-direction:column;justify-content:center;gap:22px;background:var(--surface)}.logo-lockup{display:flex;align-items:center;gap:14px}.login-logo{width:56px;height:56px;object-fit:contain}.login-panel h1{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.login-copy{color:var(--text-muted);font-size:1rem;line-height:1.55;max-width:420px}.email-login-form{display:flex;flex-direction:column;gap:12px;max-width:440px}.email-login-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.85rem;color:var(--text-muted)}.email-login-form input{min-height:44px}.demo-login{display:flex;flex-direction:column;gap:10px;max-width:440px}.demo-login button:not(.primary-button){background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:600}.demo-login button:not(.primary-button):hover{background:var(--surface-muted);border-color:var(--border-strong)}.login-note{max-width:440px;padding:12px 14px;border-radius:var(--r-md);background:var(--brand-50);color:var(--brand-600);border:1px solid var(--brand-100);font-size:.84rem;line-height:1.5}.login-copyright{max-width:440px;margin-top:4px}.login-visual{display:none;position:relative;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand) 100%);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:20px;overflow:hidden;padding:40px}.login-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px circle at 0% 0%,rgba(255,255,255,.18),transparent 50%),radial-gradient(600px circle at 100% 100%,rgba(255,255,255,.1),transparent 50%);pointer-events:none}.floating-card{padding:18px;border-radius:var(--r-lg);background:#ffffff1f;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(280px,100%);box-shadow:var(--shadow-lg);animation:float 6s ease-in-out infinite;color:#fff;position:relative;z-index:1}.floating-card.secondary{animation-delay:-3s}.floating-card span{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#ffffffd9;letter-spacing:.06em}.floating-card strong{display:block;font-size:1.5rem;font-weight:800;margin:4px 0;letter-spacing:-.02em}.floating-card small{font-size:.8rem;color:#fffc}.setup-error-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.setup-error-card{width:min(540px,100%);padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:16px}.setup-code{display:block;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;font-family:var(--font-mono);font-size:.85rem;color:var(--text);word-break:break-all;white-space:pre-wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.mobile-only{display:inline-grid}@media(min-width:640px){:root{font-size:15.5px}.main{padding:22px;gap:22px}.metric-row{grid-template-columns:repeat(3,1fr)}.form-grid,.settings-grid,.detail-grid{grid-template-columns:1fr 1fr}.inventory-toolbar{grid-template-columns:1fr 200px auto}.inventory-toolbar.product-toolbar{grid-template-columns:1fr auto}.topbar{padding:16px 20px}.topbar h1{font-size:1.45rem}.card-grid,.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.modal-card{padding:26px}}@media(max-width:639px){.product-preview,.item-image{min-height:240px}}@media(min-width:900px){.two-column{grid-template-columns:1fr 1fr}.unit-page-summary{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)}.login-screen{grid-template-columns:1fr 1fr}.login-visual{display:flex}.login-panel{padding:60px}}@media(min-width:1024px){.app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.sidebar{position:sticky;top:0;transform:none;box-shadow:none;width:auto;padding:24px 16px}.scrim,.mobile-only{display:none!important}.main{padding:28px 32px;gap:24px}.topbar h1{font-size:1.6rem}}@media(min-width:1280px){:root{--sidebar-w: 260px}.main{padding:32px 40px}}:root{color-scheme:light;--brand: #1d4ed8;--brand-600: #2563eb;--brand-500: #2f66f2;--brand-100: #cfe0ff;--brand-50: #eaf1ff;--brand-ink: #ffffff;--ok: #16a34a;--ok-bg: #dcfce7;--warn: #f97316;--warn-bg: #ffedd5;--bad: #dc2626;--bad-bg: #fee2e2;--bg: #eef3f9;--surface: #ffffff;--surface-muted: #e8eef7;--surface-hover: #f7faff;--border: #d9e1ee;--border-strong: #c4cfdf;--text: #07111f;--text-muted: #334155;--text-subtle: #526179;--text-faint: #8492a8;--sidebar-bg: #07111f;--sidebar-soft: #0b1b31;--sidebar-border: #17304f;--shadow-xs: 0 1px 2px rgba(7, 17, 31, .05);--shadow-sm: 0 8px 20px rgba(7, 17, 31, .08);--shadow-md: 0 16px 32px rgba(7, 17, 31, .12), 0 4px 10px rgba(7, 17, 31, .06);--shadow-lg: 0 24px 54px rgba(7, 17, 31, .2)}body{background:var(--bg)}.sidebar{background:var(--sidebar-bg);border-right-color:var(--sidebar-border)}.brand strong,.user-card strong{color:#fff}.brand span{color:#60a5fa}.user-card{background:var(--sidebar-soft);border-color:var(--sidebar-border)}.user-card span,.copyright-line{color:#c8d4e8}.nav-list button{background:var(--sidebar-soft);border:1px solid var(--sidebar-border);color:#c8d4e8;font-weight:600}.nav-list button:hover{color:#fff;background:#102442;border-color:#24538f}.nav-list button.active{color:#fff;background:var(--brand-600);border-color:#60a5fa;box-shadow:0 10px 22px #2563eb40}.topbar,.panel,.product-card,.inventory-card,.request-card,.info-tile{border-color:var(--border);box-shadow:var(--shadow-xs)}.primary-button{background:var(--ok);color:#fff;box-shadow:0 10px 20px #16a34a2e}.primary-button:hover{background:#15803d}.ghost-button,.icon-button,.search-box,input,select,textarea{border-color:var(--border)}.metric{position:relative;overflow:hidden;border-color:var(--border);box-shadow:var(--shadow-md)}.metric:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--brand-600)}.metric.blue:before{background:var(--brand-600)}.metric.amber:before{background:var(--warn)}.metric.green:before{background:var(--ok)}.metric.red:before{background:var(--bad)}.metric svg{color:#fff;background:var(--brand-600)}.metric.blue svg{color:#fff;background:var(--brand-600)}.metric.amber svg{color:#fff;background:var(--warn)}.metric.green svg{color:#fff;background:var(--ok)}.metric.red svg{color:#fff;background:var(--bad)}.attention-band{background:var(--sidebar-bg);color:#fff;border-color:var(--sidebar-bg);border-left:6px solid var(--warn);box-shadow:var(--shadow-sm)}.attention-band strong{color:#fff}.attention-band span{color:#c8d4e8}.attention-band>svg{color:var(--warn)}.attention-band button{background:var(--warn);color:#fff}.attention-band.damage{background:var(--sidebar-bg);border-color:var(--sidebar-bg);border-left-color:var(--bad)}.attention-band.damage>svg,.damage-row svg,.damage-target svg{color:var(--bad)}.attention-band.damage button{background:var(--bad)}.product-card,.inventory-card{position:relative;border-color:var(--border);box-shadow:var(--shadow-sm)}.product-card:hover,.inventory-card:hover{box-shadow:var(--shadow-md)}.inventory-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--ok);z-index:1}.inventory-card.stock-warn:before{background:var(--warn)}.inventory-card.stock-bad:before{background:var(--bad)}.inventory-card.stock-neutral:before{background:var(--brand-600)}.product-preview,.item-image,.item-image img,.category-image-preview img,.reused-photo-preview img{background:linear-gradient(135deg,#dbe7ff,#cfe0ff)}.product-icon{color:#fff;background:var(--brand-600);border-color:var(--brand-600)}.category-pill{color:var(--brand-600);background:var(--brand-50);border-color:var(--brand-100)}.stock-pill.good{color:#15803d;background:var(--ok-bg)}.stock-pill.warn{color:#ea580c;background:var(--warn-bg)}.stock-pill.bad{color:var(--bad);background:var(--bad-bg)}.scope-switch,.area-switch{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-xs)}.scope-switch button.active,.area-switch button.active{background:var(--brand-600);color:#fff}.material-location-switch{grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:1024px){.metric-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.admin-user-row{grid-template-columns:auto minmax(260px,1fr) minmax(150px,190px) auto;align-items:start}.admin-user-main{display:grid;gap:4px}.admin-role-select{display:grid;gap:6px;color:var(--text-subtle);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.admin-role-select select{min-height:36px;padding:0 10px;font-size:.85rem;font-weight:700;text-transform:none;letter-spacing:0}.team-assignment-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.team-assignment-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);font-size:.78rem;font-weight:700}.team-assignment-chip input{width:auto;accent-color:var(--brand-600)}@media(max-width:760px){.card-grid,.product-grid{gap:10px}.material-location-switch button{min-height:46px;padding:0 6px;gap:4px;font-size:.74rem;line-height:1.1;text-align:center;white-space:normal}.category-card{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:142px}.category-card .product-preview{grid-row:1 / span 3;width:100%;height:100%;min-height:0;border-right:1px solid var(--border);border-bottom:0;padding:8px}.category-card .product-topline,.category-card>div:not(.product-topline),.category-card>small{grid-column:2}.category-card .product-topline{padding:10px 10px 0 12px}.category-card .product-icon{width:34px;height:34px;border-radius:9px}.category-card .product-actions{gap:4px}.category-card .icon-button{width:34px;height:34px;min-height:34px;border-radius:9px}.category-card>div:not(.product-topline),.category-card>small{padding-left:12px;padding-right:10px}.category-card h3{margin-top:8px;font-size:.98rem;line-height:1.2}.category-card .product-meta{margin-top:7px}.category-card .product-meta strong{font-size:1.3rem}.category-card small{padding-bottom:10px}.inventory-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;min-height:132px}.inventory-card .item-image{min-height:0;height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--border)}.inventory-card .item-image img{padding:6px;object-fit:contain}.inventory-card .item-image-icon{width:34px;height:34px}.inventory-card .card-body{min-width:0;padding:10px 10px 10px 12px}.inventory-card .card-topline{align-items:flex-start;gap:8px}.inventory-card .category-pill,.inventory-card .stock-pill,.inventory-card .damage-pill{font-size:.64rem;padding:2px 7px;letter-spacing:.04em}.inventory-card .card-actions{gap:4px;margin-left:auto}.inventory-card .icon-button{width:34px;height:34px;min-height:34px;border-radius:9px}.inventory-card .card-body h3{margin-top:7px;font-size:.95rem;line-height:1.2}.inventory-card .card-body p{font-size:.8rem;line-height:1.25}.inventory-card .card-meta{margin-top:8px;flex-wrap:wrap;align-items:center;gap:5px}.inventory-card .card-meta strong{font-size:1.25rem}.inventory-card .card-meta span{font-size:.78rem}.inventory-card .number-preview,.inventory-card .condition-summary{display:none}.admin-user-row{grid-template-columns:auto minmax(0,1fr)}.admin-role-select,.admin-user-row .status{grid-column:2}}.admin-create-user-form{display:grid;gap:14px}.admin-team-picker{display:grid;gap:8px}.admin-team-picker>span{color:var(--text-muted);font-size:.82rem;font-weight:800}.compact-actions{border-top:0;padding-top:0;margin-top:0}
