.error-fallback{background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.error-fallback-content{background:#fff;border-radius:8px;width:100%;max-width:600px;padding:40px;box-shadow:0 2px 8px #0000001a}.error-fallback-content h1{color:#d32f2f;margin-top:0;margin-bottom:16px;font-size:28px}.error-message{color:#666;margin-bottom:24px;font-size:16px;line-height:1.5}.error-details{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;margin:24px 0;padding:16px}.error-details summary{cursor:pointer;color:#333;margin-bottom:8px;font-weight:600}.error-details pre{color:#d32f2f;white-space:pre-wrap;word-wrap:break-word;background-color:#fff;border-radius:4px;margin:8px 0 0;padding:12px;font-size:12px;overflow-x:auto}.error-actions{border-top:1px solid #eee;gap:12px;margin-bottom:32px;padding-top:24px;display:flex}.btn-try-again,.btn-go-home{cursor:pointer;border:none;border-radius:4px;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s}.btn-try-again{color:#fff;background-color:#1976d2}.btn-try-again:hover:not(:disabled){background-color:#1565c0}.btn-go-home{color:#333;background-color:#f5f5f5}.btn-go-home:hover:not(:disabled){background-color:#e0e0e0}.feedback-form{border-top:2px solid #eee;margin-top:32px;padding-top:32px}.feedback-form h2{color:#333;margin-top:0;margin-bottom:8px;font-size:20px}.feedback-prompt{color:#666;margin-bottom:24px;font-size:14px;line-height:1.5}.form-group textarea,.form-group input[type=email]{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:12px;font-family:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:100px}.form-group textarea:focus,.form-group input[type=email]:focus{border-color:#1976d2;outline:none;box-shadow:0 0 0 2px #1976d21a}.form-group textarea:disabled,.form-group input[type=email]:disabled{cursor:not-allowed;background-color:#f5f5f5}.form-group small{color:#666;margin-top:4px;font-size:12px;display:block}.btn-submit-feedback{color:#fff;cursor:pointer;background-color:#1976d2;border:none;border-radius:4px;width:100%;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s}.btn-submit-feedback:hover:not(:disabled){background-color:#1565c0}.btn-submit-feedback:disabled{cursor:not-allowed;background-color:#ccc}.feedback-success{color:#2e7d32;text-align:center;background-color:#e8f5e9;border:1px solid #4caf50;border-radius:4px;margin-top:32px;padding:16px}.feedback-success p{margin:0;font-size:14px}.workspace-layout{background-color:#f8f9fa;min-height:100vh;display:flex}.workspace-layout.no-sidebar{display:block}.workspace-content{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;transition:margin-left .3s;display:flex}.sidebar.collapsed~.workspace-content{margin-left:60px}.workspace-header{z-index:100;background-color:#fff;border-bottom:1px solid #e0e0e0;align-items:center;gap:16px;min-height:60px;padding:12px 20px;display:flex;position:sticky;top:0}.menu-toggle{cursor:pointer;color:#667eea;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#667eea33;background:0 0;border:2px solid #667eea;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 12px;font-size:1.5rem;transition:all .3s,transform .1s;display:flex}.menu-toggle:hover{color:#fff;background-color:#667eea;transform:scale(1.05)}.menu-toggle:active{transform:scale(.95)}.menu-toggle.shimmer{animation:2s infinite shimmer;position:relative;overflow:hidden}.menu-toggle.shimmer:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;animation:2s infinite shimmer-slide;position:absolute;top:0;left:-100%}@keyframes shimmer{0%,to{box-shadow:0 0 #667eea66}50%{box-shadow:0 0 0 8px #667eea00}}@keyframes shimmer-slide{0%{left:-100%}to{left:100%}}.header-logo{color:#333;flex-shrink:0;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;text-decoration:none;transition:color .2s;display:flex}.header-logo:hover{color:#667eea}.header-logo .logo-icon{flex-shrink:0;font-size:1.5rem}.header-logo .logo-text{white-space:nowrap}.workspace-header .breadcrumbs{flex:1;margin-left:auto}.workspace-main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:20px}@media (width<=768px){.workspace-content{width:100%;margin-left:0}.sidebar.collapsed~.workspace-content,.sidebar~.workspace-content{margin-left:0}.workspace-main{padding:12px}body.sidebar-open{overflow:hidden}}.breadcrumbs{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:12px 20px}.breadcrumb-list{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;font-size:.9rem;display:flex}.breadcrumb-link{color:#667eea;border-radius:3px;padding:2px 4px;text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:#5568d3;background-color:#e8edff}.breadcrumb-current{color:#333;padding:2px 4px;font-weight:500}.breadcrumb-static{color:#777;cursor:default;padding:2px 4px}.breadcrumb-separator{color:#999;margin:0 8px;font-size:.8rem}@media (width<=768px){.breadcrumbs{padding:8px 12px}.breadcrumb-item{font-size:.85rem}.breadcrumb-separator{margin:0 4px}}.command-palette-item{cursor:pointer;border-radius:4px;margin:2px 0;transition:background-color .15s}.command-palette-item:hover{background-color:var(--mantine-color-gray-1)}.command-palette-item.selected{background-color:var(--mantine-color-blue-1)}.command-palette-item.selected:hover{background-color:var(--mantine-color-blue-2)}.command-palette-item kbd{background-color:var(--mantine-color-gray-2);border:1px solid var(--mantine-color-gray-4);border-radius:3px;padding:2px 6px;font-family:monospace;font-size:11px;box-shadow:0 1px #0000001a}@media (prefers-color-scheme:dark){.command-palette-item:hover{background-color:var(--mantine-color-dark-6)}.command-palette-item.selected{background-color:var(--mantine-color-blue-9)}.command-palette-item.selected:hover{background-color:var(--mantine-color-blue-8)}.command-palette-item kbd{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-4)}}.notification-badge{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notification-badge-count{color:#fff;background-color:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px #0003}.notification-banner{border-left:4px solid;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px 20px;animation:.3s ease-out slideIn;display:flex;box-shadow:0 2px 8px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.notification-banner-content{flex:1;align-items:flex-start;gap:12px;display:flex}.notification-banner-icon{flex-shrink:0;font-size:20px;font-weight:700;line-height:1.2}.notification-banner-text{flex-direction:column;flex:1;gap:4px;display:flex}.notification-banner-title{font-size:14px;font-weight:600;line-height:1.4;display:block}.notification-banner-message{opacity:.9;font-size:13px;line-height:1.4;display:block}.notification-banner-dismiss{cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:24px;line-height:1;transition:opacity .2s;display:flex}.notification-banner-dismiss:hover{opacity:1}.notification-banner-success{color:#166534;background-color:#f0f9f4;border-left-color:#22c55e}.notification-banner-success .notification-banner-icon{color:#22c55e}.notification-banner-error{color:#991b1b;background-color:#fef2f2;border-left-color:#ef4444}.notification-banner-error .notification-banner-icon{color:#ef4444}.notification-banner-warning{color:#92400e;background-color:#fffbeb;border-left-color:#f59e0b}.notification-banner-warning .notification-banner-icon{color:#f59e0b}.notification-banner-info{color:#1e40af;background-color:#eff6ff;border-left-color:#3b82f6}.notification-banner-info .notification-banner-icon{color:#3b82f6}.notification-item{border:1px solid var(--mantine-color-gray-3);background-color:var(--mantine-color-white);cursor:pointer;border-radius:6px;padding:12px;transition:all .2s}.notification-item:hover{background-color:var(--mantine-color-gray-0);border-color:var(--mantine-color-gray-4)}.notification-item.unread{border-left:3px solid var(--mantine-color-blue-6);background-color:var(--mantine-color-blue-0)}.notification-item.unread:hover{background-color:var(--mantine-color-blue-1)}.notification-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:600;display:flex}.offline-indicator{z-index:1001;border-top:none;border-left:none;border-right:none;border-radius:0;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.sidebar{--sb-surface-bg:#faf8f4;--sb-card-bg:#fff;--sb-border:#0f172a14;--sb-rule:#0f172a0f;--sb-text:#111827;--sb-muted:#4b5563;--sb-eyebrow:#6b7280;--sb-accent:#1971c2;--sb-accent-soft:#e7f1fb;--sb-chip-bg:#1a1a1a;--sb-chip-fg:#f5f1e8;--sb-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;background:var(--sb-surface-bg);border-right:1px solid var(--sb-border);z-index:1000;flex-direction:column;width:260px;height:100vh;padding-top:0;transition:width .3s;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar.collapsed{width:60px}.sidebar-brand{border-bottom:1px solid var(--sb-rule);background:var(--sb-card-bg);align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.sidebar-brand-chip{background:var(--sb-chip-bg);width:36px;height:36px;color:var(--sb-chip-fg);font-family:var(--sb-mono);letter-spacing:.06em;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.sidebar-brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.sidebar-brand-eyebrow{font-family:var(--sb-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sb-eyebrow);font-size:10px;font-weight:500}.sidebar-brand-title{color:var(--sb-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.sidebar.collapsed .sidebar-brand{padding:16px 12px}.sidebar.collapsed .sidebar-brand-text{display:none}.sidebar-nav{flex:1;min-height:300px;padding:14px 10px 12px;overflow-y:auto}.workspace-section{margin-bottom:2px}.workspace-section+.workspace-section{margin-top:4px}.section-header{text-align:left;cursor:pointer;width:100%;color:var(--sb-text);font-size:.83rem;font-weight:600;font-family:var(--sb-mono);letter-spacing:.07em;text-transform:uppercase;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:var(--sb-accent-soft);background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;min-height:40px;padding:9px 10px;transition:background-color .18s,color .18s,transform .1s;display:flex}.section-header:hover{background-color:var(--sb-card-bg);color:var(--sb-text)}.section-header:active{transform:scale(.98)}.section-header.active{background-color:var(--sb-accent-soft);color:var(--sb-accent)}.section-header:focus-visible{outline:2px solid var(--sb-accent);outline-offset:2px}.section-icon{background:var(--sb-chip-bg);width:28px;height:28px;color:var(--sb-chip-fg);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.section-header.active .section-icon{background:var(--sb-accent);color:#fff}.section-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar.collapsed .section-label{opacity:0;width:0}.section-arrow{color:var(--sb-eyebrow);font-size:.65rem;font-family:var(--sb-mono);flex-shrink:0;transition:transform .18s}.section-header[aria-expanded=true] .section-arrow{color:var(--sb-accent)}.sidebar.collapsed .section-arrow{display:none}.section-items{border-left:1px solid #0000;max-height:0;margin-left:14px;padding-left:38px;transition:max-height .3s;overflow:hidden}.section-items.expanded{border-left-color:var(--sb-rule);max-height:1000px;padding-top:4px;padding-bottom:4px}.nav-item{color:var(--sb-muted);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:var(--sb-accent-soft);border-left:2px solid #0000;border-radius:7px;align-items:center;gap:10px;min-height:36px;margin:2px 0;padding:8px 12px;font-size:.875rem;text-decoration:none;transition:background-color .18s,color .18s,transform .1s;display:flex}.nav-item:hover{background-color:var(--sb-card-bg);color:var(--sb-text)}.nav-item:active{transform:scale(.98)}.nav-item:focus-visible{outline:2px solid var(--sb-accent);outline-offset:2px}.nav-item.active{background-color:var(--sb-accent-soft);color:var(--sb-accent);border-left-color:var(--sb-accent);font-weight:600}.item-icon{text-align:center;opacity:.85;flex-shrink:0;width:18px;font-size:.95rem}.nav-item.active .item-icon{opacity:1}.item-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .item-label{opacity:0;width:0}.sidebar.collapsed .section-items{border-left:none;margin-left:0;padding-left:0}.sidebar.collapsed .nav-item{border-left:none;justify-content:center;padding:8px}.sidebar-close-button{width:44px;height:44px;color:var(--sb-text);cursor:pointer;z-index:1001;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0f172a1f;background:#0f172a14;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:background-color .2s,transform .1s;display:flex;position:absolute;top:12px;right:12px}.sidebar-close-button:hover{background:#0f172a24}.sidebar-close-button:active{background:#0f172a2e;transform:scale(.9)}.sidebar-backdrop{z-index:999;background-color:#0f172a73;animation:.3s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){.sidebar{z-index:1000;width:280px;max-width:85vw;transition:transform .3s;transform:translate(-100%);box-shadow:6px 0 24px -10px #0f172a40}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:280px;max-width:85vw}.sidebar-close-button{display:flex}}@media (width>=769px){.sidebar-close-button{display:none}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#0f172a47}@media (prefers-reduced-motion:reduce){.sidebar,.section-header,.nav-item,.section-arrow,.section-items{transition:none}}.recent-pages{border-top:1px solid #e0e0e0;margin-top:auto;padding:16px}.recent-pages-title{color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:.85rem;font-weight:600}.recent-pages-scroll-container{scrollbar-width:thin;scrollbar-color:silver #f5f5f5;overflow:hidden auto}.recent-pages-resize-handle{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#0000 0%,#e0e0e0 50%,#0000 100%);height:6px;margin:0 -16px 8px;transition:background .15s}.recent-pages-resize-handle:hover,.recent-pages-resize-handle.dragging{background:linear-gradient(#0000 0%,#667eea 50%,#0000 100%)}@media (width<=767px){.recent-pages-resize-handle{display:none}}.recent-pages-scroll-container::-webkit-scrollbar{width:6px}.recent-pages-scroll-container::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.recent-pages-scroll-container::-webkit-scrollbar-thumb{background:silver;border-radius:3px}.recent-pages-scroll-container::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.recent-pages-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.recent-page-item{margin:0}.recent-page-link{color:#666;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.recent-page-link:hover{color:#667eea;background-color:#f5f5f5}.recent-page-icon{flex-shrink:0;font-size:.9rem}.recent-page-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar.collapsed .recent-pages-title,.sidebar.collapsed .recent-page-label{display:none}.sidebar.collapsed .recent-page-link{justify-content:center;padding:8px}.recent-pages-more-indicator{color:#999;text-align:center;padding:4px 8px;font-size:.75rem;font-style:italic}:root{--landing-display-font:"DM Serif Display", "Iowan Old Style", "Cambria", "Georgia", serif;--landing-mono-font:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--landing-surface-bg:#faf8f4;--landing-card-bg:#fff;--landing-card-border:#0f172a14;--landing-card-border-hover:#1971c273;--landing-card-shadow-hover:0 18px 40px -28px #0f172a66;--landing-eyebrow:#6b7280;--landing-text:#111827;--landing-muted:#4b5563;--landing-rule:#0f172a14;--landing-accent:#1971c2;--landing-accent-soft:#e7f1fb;--landing-chip-bg:#1a1a1a;--landing-chip-fg:#f5f1e8;--landing-radius:14px}.landing-surface{background:var(--landing-surface-bg);min-height:100%}.landing-display{font-family:var(--landing-display-font);letter-spacing:-.01em;color:var(--landing-text);font-weight:400;line-height:1.05}.landing-eyebrow{font-family:var(--landing-mono-font);letter-spacing:.14em;text-transform:uppercase;color:var(--landing-eyebrow);font-size:11px;font-weight:500}.landing-capability-card{background:var(--landing-card-bg);border:1px solid var(--landing-card-border);border-radius:var(--landing-radius);color:inherit;text-decoration:none;transition:border-color .16s,transform .16s,box-shadow .16s;display:block}.landing-capability-card:hover{border-color:var(--landing-card-border-hover);box-shadow:var(--landing-card-shadow-hover);transform:translateY(-2px)}.landing-capability-card:focus-visible{outline:2px solid var(--landing-accent);outline-offset:3px}.landing-icon-chip{background:var(--landing-chip-bg);width:40px;height:40px;color:var(--landing-chip-fg);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.landing-arrow{color:var(--landing-accent);align-items:center;gap:6px;font-size:.9rem;font-weight:500;transition:gap .16s;display:inline-flex}.landing-capability-card:hover .landing-arrow{gap:10px}.landing-rule{border:0;border-top:1px solid var(--landing-rule);margin:0}@media (prefers-reduced-motion:reduce){.landing-capability-card,.landing-arrow{transition:none}.landing-capability-card:hover{transform:none}}.admin-dashboard{max-width:1400px;margin:0 auto;padding:20px}.dashboard-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.dashboard-header h1{color:#333}.header-actions .btn-secondary{color:#fff;background-color:#6c757d;border:none;border-radius:5px;padding:10px 20px;transition:background-color .2s}.header-actions .btn-secondary:hover{background-color:#5a6268}.filter-bar{gap:10px;margin-bottom:20px;display:flex}.filter-bar button{background:#fff;border:2px solid #ddd;border-radius:5px;padding:10px 20px;font-size:1rem;transition:all .2s}.filter-bar button.active{color:#fff;background-color:#667eea;border-color:#667eea}.filter-bar button:hover:not(.active){border-color:#667eea}.requests-table{background:#fff;border-radius:8px;overflow-x:auto;box-shadow:0 2px 8px #0000001a}.requests-table table{border-collapse:collapse;width:100%}.requests-table thead{background-color:#f8f9fa}.requests-table th{text-align:left;color:#555;border-bottom:2px solid #dee2e6;padding:15px;font-weight:600}.requests-table td{vertical-align:middle;border-bottom:1px solid #dee2e6;padding:15px}.requests-table tbody tr:hover{background-color:#f8f9fa}.no-data{text-align:center;color:#999;padding:40px!important}.item-cell{align-items:center;gap:10px;display:flex}.item-thumb{object-fit:cover;border-radius:4px;width:50px;height:50px}.item-supplier{color:#999;font-size:.85rem}.tracking-info,.delivery-info{margin-top:4px}.tracking-info small,.delivery-info small{color:#06c;font-weight:500}.delivery-status small{font-weight:600}.delivery-status .overdue{color:#e74c3c}.delivery-status .due-today{color:#e67e22}.delivery-status .due-soon{color:#f39c12}.delivery-status .due-later{color:#27ae60}.priority-badge,.status-badge{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:.85rem;font-weight:500;display:inline-block}.priority-urgent{color:#fff;background-color:#dc3545}.priority-high{color:#fff;background-color:#fd7e14}.priority-normal{color:#fff;background-color:#6c757d}.priority-low{color:#fff;background-color:#adb5bd}.status-pending{color:#000;background-color:#ffc107}.status-approved{color:#fff;background-color:#17a2b8}.status-ordered{color:#fff;background-color:#007bff}.status-received{color:#fff;background-color:#28a745}.status-cancelled{color:#fff;background-color:#6c757d}.action-buttons{gap:5px;display:flex}.action-buttons button{border:none;border-radius:4px;padding:6px 12px;font-size:.9rem;transition:all .2s}.btn-approve{color:#fff;background-color:#28a745}.btn-approve:hover{background-color:#218838}.btn-cancel:hover{background-color:#c82333}.btn-order{color:#fff;background-color:#007bff}.btn-order:hover{background-color:#0056b3}.btn-receive{color:#fff;background-color:#28a745}.btn-tracking{color:#fff;cursor:pointer;background-color:#17a2b8;border:none;border-radius:4px;margin-right:4px;padding:6px 8px;font-size:.9rem;transition:background-color .2s}.btn-tracking:hover{background-color:#138496}.btn-receive:hover{background-color:#218838}.supplier-modal{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h2{margin:0}.close-btn{color:#999;background:0 0;border:none;width:30px;height:30px;padding:0;font-size:1.5rem}.close-btn:hover{color:#333}.modal-body{padding:20px}.supplier-group{background-color:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.supplier-group h3{color:#333;margin-bottom:10px}.supplier-group ul{margin-top:15px;padding-left:0;list-style:none}.supplier-group li{border-bottom:1px solid #dee2e6;padding:10px 0}.supplier-group li:last-child{border-bottom:none}.supplier-link{color:#667eea;margin-left:10px;font-size:.9rem}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:15px}.requests-table{font-size:.9rem}.requests-table th,.requests-table td{padding:10px}.item-cell{flex-direction:column;align-items:flex-start}}.asset-detail-page{max-width:1200px;margin:0 auto;padding:2rem}.asset-detail-loading,.asset-detail-error{text-align:center;color:#666;padding:3rem;font-size:1.125rem}.asset-detail-error{color:#dc3545}.asset-detail-error button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem}.asset-detail-header{border-bottom:2px solid #e0e0e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.asset-detail-header-left{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.back-button{color:#333;cursor:pointer;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:all .3s}.back-button:hover{background-color:#e9ecef;border-color:#adb5bd}.asset-detail-header h1{color:#333;margin:0;font-size:2rem}.asset-detail-header-right{flex-wrap:wrap;gap:1rem;display:flex}.action-button{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s}.edit-button{color:#fff;background-color:#007bff}.edit-button:hover{background-color:#0056b3}.lock-button{color:#333;background-color:#ffc107}.lock-button:hover{background-color:#e0a800}.unlock-button{color:#fff;background-color:#28a745}.unlock-button:hover{background-color:#218838}.action-button:disabled{opacity:.6;cursor:not-allowed}.asset-detail-image{border-radius:12px;width:100%;max-width:600px;margin:0 auto 2rem;overflow:hidden;box-shadow:0 4px 12px #0000001a}.asset-detail-image img{width:100%;height:auto;display:block}.asset-detail-content{flex-direction:column;gap:2rem;display:flex}.asset-detail-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem}.asset-detail-section h2{color:#333;border-bottom:2px solid #e0e0e0;margin:0 0 1.5rem;padding-bottom:.75rem;font-size:1.5rem}.asset-detail-section h3{color:#555;margin:1.5rem 0 1rem;font-size:1.25rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.info-item.full-width{grid-column:1/-1}.inventory-item-link{color:#007bff;cursor:pointer;font:inherit;font-weight:inherit;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .3s}.inventory-item-link:hover{color:#0056b3;text-decoration:none}.status-badge.status-implementing{color:#084298;background-color:#cfe2ff}.status-badge.status-testing{color:#856404;background-color:#fff3cd}.parts-table{overflow-x:auto}.parts-table table{border-collapse:collapse;width:100%;margin-top:1rem}.parts-table th,.parts-table td{text-align:left;border-bottom:1px solid #e0e0e0;padding:.75rem}.parts-table th{color:#333;text-transform:uppercase;background-color:#f8f9fa;font-size:.875rem;font-weight:600}.parts-table tr.needs-replacement{background-color:#fff3cd}.replacement-badge{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.replacement-badge.needs{color:#721c24;background-color:#f8d7da}.replacement-badge.ok{color:#155724;background-color:#d4edda}.mark-replaced-button{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .3s}.mark-replaced-button:hover{background-color:#218838}.mark-replaced-button:disabled{opacity:.6;cursor:not-allowed}.problem-filters{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.problem-filters label{color:#666;font-size:.875rem;font-weight:600}.problems-list{flex-direction:column;gap:1rem;display:flex}.problem-item{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.problem-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.problem-status-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.problem-status-badge.problem-reported{color:#856404;background-color:#fff3cd}.problem-status-badge.problem-in-progress{color:#084298;background-color:#cfe2ff}.problem-status-badge.problem-resolved{color:#155724;background-color:#d4edda}.problem-status-badge.problem-closed{color:#383d41;background-color:#e2e3e5}.problem-date{color:#666;font-size:.875rem}.problem-body{flex-direction:column;gap:.5rem;display:flex}.problem-description{color:#333;margin:0;line-height:1.6}.problem-reported-by{color:#666;margin:0;font-size:.875rem;font-style:italic}.problem-resolution{border-top:1px solid #e0e0e0;margin-top:.75rem;padding-top:.75rem}.problem-resolution strong{color:#333;font-size:.875rem}.problem-resolution p{color:#555;margin:.5rem 0 0;line-height:1.6}.problem-resolved-date{color:#666;margin:0;font-size:.875rem;font-style:italic}.no-problems{text-align:center;color:#999;padding:2rem;font-style:italic}.maintenance-plan{margin-bottom:1.5rem}.maintenance-plan-text{white-space:pre-wrap;background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;font-family:Courier New,monospace;font-size:.875rem;overflow-x:auto}.no-maintenance-plan{color:#999;padding:1rem;font-style:italic}.condition-notes{background-color:#f8f9fa;border-left:4px solid #17a2b8;border-radius:4px;margin-top:1.5rem;padding:1rem}.condition-notes p{color:#555;margin:.5rem 0 0;line-height:1.6}.maintenance-history{margin-top:1.5rem}.maintenance-list{margin:0;padding:0;list-style:none}.maintenance-item{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:.75rem;padding:1rem}.maintenance-item:last-child{margin-bottom:0}.maintenance-item-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.maintenance-part-name{color:#333;font-weight:600}.maintenance-date{color:#666;font-size:.875rem}.maintenance-notes{color:#555;margin-top:.5rem;font-size:.875rem;font-style:italic}.section-header-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header-row h2{margin:0}.add-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.875rem}.add-button:hover{background-color:#0056b3}.edit-link-button{color:#495057;cursor:pointer;background:0 0;border:1px solid #adb5bd;border-radius:4px;padding:.2rem .6rem;font-size:.8rem}.edit-link-button:hover{background-color:#f1f3f5}.maintenance-status-badge{border-radius:4px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.maintenance-status-badge.status-overdue{color:#856404;background-color:#fff3cd;border:1px solid #ffc107}.maintenance-status-badge.status-upcoming{color:#0c5460;background-color:#d1ecf1;border:1px solid #17a2b8}.maintenance-status-badge.status-asneeded{color:#6c757d;background-color:#f8f9fa;border:1px solid #dee2e6}.maintenance-meta{color:#868e96;margin-top:.4rem;font-size:.8rem}.qr-code-section{background-color:#f8f9fa;border-radius:8px;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.qr-code-image{background:#fff;border:2px solid #e0e0e0;border-radius:8px;max-width:300px;height:auto;padding:1rem}.qr-code-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.download-button,.scan-link{color:#fff;background-color:#007bff;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .3s;display:inline-block}.download-button:hover,.scan-link:hover{background-color:#0056b3}.generate-qr-button{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .3s}.generate-qr-button:hover{background-color:#218838}.links-list{flex-direction:column;gap:.75rem;display:flex}.resource-link{color:#004085;background-color:#e7f3ff;border-left:4px solid #007bff;border-radius:8px;padding:.75rem 1rem;text-decoration:none;transition:all .3s;display:inline-block}.resource-link:hover{background-color:#cfe2ff;transform:translate(4px)}.asset-notes{color:#555;margin:0;line-height:1.6}@media (width<=768px){.asset-detail-page{padding:1rem}.asset-detail-header{flex-direction:column;align-items:flex-start}.asset-detail-header-right{width:100%}.action-button{flex:1;min-width:0}.info-grid{grid-template-columns:1fr}.parts-table{font-size:.875rem}.parts-table th,.parts-table td{padding:.5rem}}.scan-page{max-width:800px;min-height:100vh;margin:0 auto;padding:20px}.loading,.error,.success{text-align:center;padding:60px 20px}.success{color:#388e3c}.success h2{margin-bottom:20px;font-size:2rem}.redirect-message{color:#666;margin-top:30px;font-style:italic}.item-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.item-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);gap:20px;padding:30px;display:flex}.item-image{object-fit:cover;background:#fff;border-radius:8px;width:150px;height:150px}.item-title-section h1{margin-bottom:10px;font-size:2rem}.item-title-section .sku{opacity:.9;font-size:.9rem}.description{color:#555;margin-bottom:30px;font-size:1.1rem;line-height:1.6}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.info-item .label{color:#999;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.info-item .value{color:#333;font-size:1.1rem;font-weight:500}.info-item .value.low-stock{color:#d32f2f;font-weight:700}.info-item .value.secondary{color:#666;font-size:.95rem;font-weight:400}.alert{border-radius:5px;margin-bottom:20px;padding:15px 20px}.alert-warning{color:#856404;background-color:#fff3cd;border-left:4px solid #ffc107}.alert strong{margin-bottom:5px;display:block}.reorder-form{background-color:#f9f9f9;border-top:1px solid #eee;padding:30px}.reorder-form h2{color:#333;margin-bottom:20px}.form-group label{color:#555;margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group textarea{touch-action:manipulation;border:1px solid #ddd;border-radius:4px;width:100%;min-height:44px;padding:10px 12px;font-family:inherit;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.submit-button{color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#fff3;background-color:#667eea;border:none;border-radius:5px;width:100%;min-height:44px;padding:15px;font-size:1.1rem;font-weight:600;transition:background-color .2s,transform .1s}.submit-button:hover:not(:disabled){background-color:#5568d3}.submit-button:active:not(:disabled){background-color:#4a5bc4;transform:scale(.98)}.submit-button:disabled{cursor:not-allowed;background-color:#ccc}@media (width<=768px){.item-header{text-align:center;flex-direction:column}.item-image{margin:0 auto}.item-title-section h1{font-size:1.5rem}.info-grid{grid-template-columns:1fr}}.supplier-details{background:#f8f9fa;border-radius:8px;margin:15px 0;padding:15px}.supplier-details h3{color:#333;margin:0 0 10px;font-size:1.1rem}.detail-grid{grid-template-columns:1fr 1fr;gap:8px;font-size:.9rem;display:grid}.detail-grid>div{justify-content:space-between;display:flex}.form-help{color:#666;margin-top:5px;font-size:.85rem;display:block}.order-summary{background:#e8f5e8;border-left:4px solid #28a745;border-radius:8px;margin:15px 0;padding:15px}.order-summary h3{color:#155724;margin:0 0 10px;font-size:1.1rem}.summary-item{justify-content:space-between;margin-bottom:8px;font-size:.95rem;display:flex}.summary-item:last-child{margin-bottom:0}.simple-reorder-info{text-align:center;background:#e3f2fd;border-radius:8px;margin:15px 0;padding:15px}.simple-reorder-info p{color:#1565c0;margin:0}.auto-submit-message{text-align:center;background:linear-gradient(135deg,#e8f5e8 0%,#f0f8f0 100%);border-left:4px solid #28a745;border-radius:12px;margin:20px 0;padding:20px;box-shadow:0 2px 8px #0000001a}.auto-submit-message h2{color:#155724;margin:0 0 15px;font-size:1.3rem;font-weight:600}.auto-submit-message p{color:#155724;margin:10px 0;font-size:1rem;line-height:1.5}.auto-submit-message p:last-child{color:#6c757d;margin-bottom:0;font-style:italic}@media (width<=768px){.detail-grid{grid-template-columns:1fr}.detail-grid>div{flex-direction:column;gap:2px}}.info{text-align:center;color:#0c5460;background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;padding:40px}.info h2{color:#0c5460;margin-bottom:15px}.request-details{text-align:left;background-color:#ffffffb3;border-radius:8px;margin:20px 0;padding:20px}.request-details p{margin:8px 0;font-size:.95rem}.status-message{color:#0c5460;margin:15px 0;font-size:1.1rem;font-weight:500}.existing-request-info{background-color:#e2e3ff;border:1px solid #c7d2fe;border-radius:8px;margin-top:20px;padding:30px}.existing-request-info h2{color:#4338ca;margin-bottom:15px}.request-summary{background-color:#fffc;border-radius:8px;margin-top:15px;padding:20px}.request-summary p{color:#374151;margin:8px 0}.report-buttons{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;display:grid}.report-type-button{cursor:pointer;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#667eea1a;background:#fff;border:2px solid #ddd;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:80px;padding:1.5rem;font-size:1.1rem;transition:all .3s,transform .1s;display:flex}.report-type-button:hover:not(:disabled){background:#f0f4ff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.report-type-button:active:not(:disabled){transform:scale(.98)}.report-type-button.selected{color:#fff;background:#667eea;border-color:#667eea;font-weight:600}.report-type-button:disabled{opacity:.6;cursor:not-allowed}.form-actions{gap:1rem;margin-top:1.5rem;display:flex}.cancel-button{color:#666;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000001a;background:#fff;border:2px solid #ddd;border-radius:4px;min-width:44px;min-height:44px;padding:.75rem 1.5rem;font-size:1rem;transition:all .3s,transform .1s}.cancel-button:hover:not(:disabled){background:#f5f5f5;border-color:#999}.cancel-button:active:not(:disabled){transform:scale(.98)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.form-group label input[type=checkbox]{width:auto;height:auto;margin-right:.5rem}@media (width<=768px){.report-buttons{grid-template-columns:1fr}.form-actions{flex-direction:column}.cancel-button{width:100%}}.asset-list-container{max-width:1400px;margin:0 auto;padding:2rem}.asset-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.asset-header h2{color:#333;margin:0}.asset-header-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.create-asset-button{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#fff3;background-color:#007bff;border:none;border-radius:8px;min-width:44px;min-height:44px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .3s,transform .1s}.create-asset-button:hover{background-color:#0056b3}.create-asset-button:active{background-color:#004085;transform:scale(.98)}.asset-stats{gap:1rem;display:flex}.stat-badge.maintenance{color:#856404;background-color:#fff3cd;border:1px solid #ffc107}.asset-controls{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.search-section{width:100%}.search-input{touch-action:manipulation;border:2px solid #e0e0e0;border-radius:8px;width:100%;max-width:500px;min-height:44px;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.filters-section{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-group label{color:#666;font-size:.875rem;font-weight:600}.filter-select{cursor:pointer;touch-action:manipulation;background:#fff;border:2px solid #e0e0e0;border-radius:8px;min-width:200px;min-height:44px;padding:.75rem 1rem;font-size:.875rem;transition:border-color .3s}.filter-select:focus{border-color:#007bff;outline:none}.filter-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.asset-card{cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000000d;background:#fff;border:2px solid #e0e0e0;border-radius:12px;min-height:44px;transition:all .3s,transform .1s;position:relative;overflow:hidden}.asset-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.asset-card:active{transform:scale(.98);box-shadow:0 2px 8px #00000026}@media (width<=768px){.asset-card:before{content:"← Swipe for actions";color:#999;opacity:0;pointer-events:none;z-index:1;font-size:.7rem;transition:opacity .3s;position:absolute;top:8px;right:8px}.asset-card:first-child:before{opacity:.5}}.asset-card.status-maintenance{background-color:#fffef7;border-color:#ffc107}.asset-card.status-retired{opacity:.8;border-color:#6c757d}.asset-image{background-color:#f8f9fa;justify-content:center;align-items:center;width:100%;height:200px;display:flex;overflow:hidden}.asset-image img{object-fit:cover;width:100%;height:100%}.asset-details{padding:1.25rem}.asset-name{color:#333;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.asset-type{color:#666;margin:0 0 .75rem;font-size:.875rem;font-style:italic}.asset-meta{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.asset-tag,.asset-serial{color:#666;background-color:#f8f9fa;border-radius:4px;margin:0;padding:.25rem .5rem;font-family:monospace;font-size:.875rem}.status-badge{text-transform:uppercase;border-radius:12px;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.status-active{color:#155724;background-color:#d4edda}.status-badge.status-maintenance{color:#856404;background-color:#fff3cd}.status-badge.status-retired{color:#383d41;background-color:#e2e3e5}.status-badge.status-lost{color:#721c24;background-color:#f8d7da}.status-badge.status-donated{color:#0c5460;background-color:#d1ecf1}.asset-category{color:#1976d2;background-color:#e3f2fd;border-radius:12px;margin-bottom:1rem;margin-left:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.asset-info{background-color:#f8f9fa;border-radius:8px;margin:1rem 0;padding:.75rem}.info-row{justify-content:space-between;margin-bottom:.5rem;display:flex}.info-row:last-child{margin-bottom:0}.maintenance-badge{color:#0c5460;background-color:#d1ecf1;border-left:4px solid #17a2b8;border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.wiki-badge{color:#004085;background-color:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}@media (width<=768px){.asset-list-container{padding:1rem}.asset-grid{grid-template-columns:1fr;gap:1rem}.asset-controls{flex-direction:column;align-items:stretch;gap:1rem}.search-input{width:100%;max-width:100%;font-size:16px}.filters-section{flex-direction:column;gap:1rem}.filter-group{width:100%}.filter-select{width:100%;min-width:0}.filter-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%;display:grid}.filter-buttons button{flex:1;min-width:0;padding:.875rem 1rem;font-size:.875rem}.asset-header{flex-direction:column;align-items:flex-start;gap:1rem}.asset-header-actions{flex-direction:column;gap:.75rem;width:100%}.create-asset-button{width:100%;padding:1rem;font-size:1rem}.asset-card{border-radius:12px;overflow:hidden}.asset-image{height:180px}.asset-details{padding:1rem}.asset-name{margin-bottom:.5rem;font-size:1.125rem}.asset-type{margin-bottom:.5rem;font-size:.875rem}.asset-meta{gap:.5rem;margin-bottom:.5rem}.asset-info{margin:.75rem 0;padding:.625rem}.info-row{margin-bottom:.375rem;font-size:.875rem}.asset-controls{z-index:10;background:#f5f5f5;border-bottom:1px solid #e0e0e0;margin:-1rem -1rem 1rem;padding:1rem;position:sticky;top:60px}}.color-picker{flex-direction:column;gap:8px;display:flex}.color-picker-label{color:#333;font-size:.9rem;font-weight:500}.color-picker-input-group{align-items:center;gap:12px;display:flex}.color-picker-preview{border:2px solid #e0e0e0;border-radius:6px;flex-shrink:0;width:40px;height:40px;box-shadow:0 2px 4px #0000001a}.color-picker-input{cursor:pointer;background:0 0;border:2px solid #e0e0e0;border-radius:6px;width:60px;height:40px;padding:0}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:none;border-radius:4px}.color-picker-text{border:2px solid #e0e0e0;border-radius:6px;flex:1;padding:8px 12px;font-family:monospace;font-size:.9rem;transition:border-color .2s}.color-picker-text:focus{border-color:#667eea;outline:none}.category-form-page{max-width:800px;margin:0 auto;padding:20px}.category-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.tree-view{width:100%}.tree-node{margin:2px 0}.tree-node-content{align-items:center;gap:8px;min-height:32px;display:flex}.tree-toggle{cursor:pointer;color:#666;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;padding:4px 8px;font-size:.8rem;transition:color .2s;display:flex}.tree-toggle:hover{color:#667eea}.tree-spacer{flex-shrink:0;width:24px}.tree-node-body{cursor:pointer;flex:1}.tree-children{margin-left:0}.category-list-page{max-width:1200px;margin:0 auto;padding:20px}.category-tree{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.category-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:16px;padding:12px;transition:background-color .2s;display:flex}.category-row:hover{background-color:#f8f9fa}.category-row:last-child{border-bottom:none}.category-info{flex:1;align-items:center;gap:12px;display:flex}.category-color-swatch{border:2px solid #e0e0e0;border-radius:6px;flex-shrink:0;width:32px;height:32px;box-shadow:0 2px 4px #0000001a}.category-details{flex:1}.category-name{color:#333;margin-bottom:4px;font-size:1rem;font-weight:600}.category-description{color:#666;font-size:.9rem}.category-meta{align-items:center;gap:16px;min-width:120px;display:flex}.category-item-count{color:#666;background-color:#f0f0f0;border-radius:12px;padding:4px 12px;font-size:.9rem}.category-actions{gap:8px;display:flex}.btn-edit,.btn-delete{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-block}.qr-scanner-container{z-index:10000;color:#fff;background-color:#000;flex-direction:column;display:flex;position:fixed;inset:0}.qr-scanner-header{z-index:10001;background-color:#000c;justify-content:space-between;align-items:center;padding:1rem;display:flex}.qr-scanner-header h2{color:#fff;margin:0;font-size:1.25rem}.qr-scanner-close{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#fff3;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:background-color .2s,transform .1s;display:flex}.qr-scanner-close:hover{background:#ffffff4d}.qr-scanner-close:active{background:#fff6;transform:scale(.9)}.qr-scanner-error{color:#fff;text-align:center;z-index:10001;background-color:#dc3545e6;padding:1rem}.qr-scanner-error p{margin:0 0 .5rem}.qr-scanner-error button{color:#dc3545;cursor:pointer;touch-action:manipulation;background:#fff;border:none;border-radius:4px;min-height:44px;padding:.5rem 1rem;font-weight:600}.qr-scanner-viewport{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.qr-scanner-element{width:100%;height:100%;position:relative}.qr-scanner-element video{object-fit:cover;width:100%!important;height:100%!important}.qr-scanner-element #qr-shaded-region{border-radius:12px;box-shadow:0 0 0 9999px #00000080;border:2px solid #0f0!important}.qr-scanner-loading{text-align:center;z-index:10002;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qr-scanner-loading p{color:#fff;font-size:1.125rem}.qr-scanner-controls{z-index:10001;background-color:#000c;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:1rem;display:flex}.qr-scanner-button{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#fff3;background-color:#fff3;border:2px solid #ffffff4d;border-radius:8px;flex:1;min-width:120px;min-height:44px;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.qr-scanner-button:hover{background-color:#ffffff4d;border-color:#ffffff80}.qr-scanner-button:active{background-color:#fff6;transform:scale(.95)}.qr-scanner-instructions{text-align:center;z-index:10001;background-color:#000c;padding:.75rem 1rem}.qr-scanner-instructions p{color:#fffc;margin:0;font-size:.875rem}@media (width<=768px){.qr-scanner-container{position:fixed;inset:0}.qr-scanner-header{padding:.75rem}.qr-scanner-header h2{font-size:1.125rem}.qr-scanner-controls{gap:.5rem;padding:.75rem}.qr-scanner-button{min-width:100px;padding:.875rem;font-size:.875rem}.qr-scanner-instructions{padding:.5rem .75rem}.qr-scanner-instructions p{font-size:.8125rem}}@media (width<=768px) and (orientation:landscape){.qr-scanner-header{padding:.5rem}.qr-scanner-controls{flex-direction:row;padding:.5rem}.qr-scanner-button{min-width:80px;padding:.75rem;font-size:.8125rem}}body.qr-scanner-open{width:100%;height:100%;position:fixed;overflow:hidden}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;-o-user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{width:20px;height:20px;position:absolute}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dashboard-widget{flex-direction:column;height:100%;display:flex;position:relative}.dashboard-widget-header{border-bottom:1px solid var(--mantine-color-gray-3);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.dashboard-widget-drag-handle{cursor:grab;color:var(--mantine-color-gray-6);align-items:center;padding:4px;display:flex}.dashboard-widget-drag-handle:active{cursor:grabbing}.dashboard-widget-title{flex:1}.dashboard-widget-content{flex:1;min-height:0;overflow:auto}.dashboard-widget-loading,.dashboard-widget-error{justify-content:center;align-items:center;min-height:100px;display:flex}.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:var(--mantine-color-blue-1);opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;border:2px dashed var(--mantine-color-blue-4);border-radius:4px;transition-duration:.1s}.react-resizable-handle{box-sizing:border-box;cursor:se-resize;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgNiA2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiM5OTkiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTAgNiA2LTZ2Mmg0djRoLTJ6Ii8+PC9nPjwvc3ZnPg==) 100% 100% no-repeat content-box border-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute;bottom:0;right:0}.react-resizable-handle:hover{background-color:var(--mantine-color-blue-2);border-radius:4px 0 0}.react-grid-item>.react-resizable-handle{cursor:se-resize;width:20px;height:20px;position:absolute;bottom:0;right:0}.react-grid-item>.react-resizable-handle:after{content:"";border-right:2px solid var(--mantine-color-gray-6);border-bottom:2px solid var(--mantine-color-gray-6);width:5px;height:5px;position:absolute;bottom:3px;right:3px}.panel-print-page{max-width:8in;margin:0 auto}@media print{body *{visibility:hidden}.panel-print-page,.panel-print-page *{visibility:visible}.panel-print-page{width:100%;position:absolute;top:0;left:0;padding:.4in!important}.panel-print-no-print{display:none!important}.panel-layout-grid--print{color:#000!important;gap:4px!important}.panel-layout-grid--print .mantine-Paper-root{color:#000!important;box-shadow:none!important;background:#fff!important;border-color:#000!important}.panel-print-page,.panel-print-page *{color:#000!important;background:0 0!important}@page{size:letter;margin:.4in}}.auth-section{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:1px solid #dee2e6;border-radius:12px;margin:20px 0;padding:20px;box-shadow:0 4px 12px #0000001a}.auth-section.logged-in{background:linear-gradient(135deg,#e8f5e8 0%,#f0f8f0 100%);border-color:#28a745}.auth-header{text-align:center;margin-bottom:20px}.auth-header h3{color:#495057;margin:0 0 8px;font-size:1.2rem;font-weight:600}.auth-header p{color:#6c757d;margin:0;font-size:.9rem;line-height:1.4}.auth-buttons{justify-content:center;gap:10px;display:flex}.btn-primary{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);border:none;border-radius:6px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .3s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#6c757d 0%,#495057 100%);border:none;border-radius:6px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .3s}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.btn-cancel{color:#6c757d;cursor:pointer;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:10px 20px;font-size:.9rem;transition:all .2s}.auth-form{background:#fff;border-radius:8px;margin-top:15px;padding:20px;box-shadow:0 2px 8px #0000000d}.auth-form h4{color:#495057;text-align:center;margin:0 0 15px;font-size:1.1rem}.register-info{color:#856404;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-bottom:15px;padding:12px;font-size:.85rem;line-height:1.4}.form-group input{box-sizing:border-box;border:1px solid #ced4da;border-radius:6px;width:100%;padding:12px;font-size:.95rem;transition:border-color .2s}.form-group input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.form-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.error-message{color:#721c24;text-align:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;margin:15px 0;padding:12px;font-size:.9rem}.user-info{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:15px;display:flex;box-shadow:0 2px 8px #0000000d}.user-avatar{margin-right:15px;font-size:2rem}.user-details{flex-direction:column;flex-grow:1;display:flex}.welcome{color:#6c757d;margin-bottom:2px;font-size:.85rem}.username{color:#155724;font-size:1.1rem;font-weight:600}.logout-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;transition:background-color .2s}.logout-btn:hover{background:#c82333}@media (width<=768px){.auth-section{margin:15px 0;padding:15px}.auth-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.form-actions{flex-direction:column}.user-info{text-align:center;flex-direction:column;gap:15px}.user-avatar{margin-right:0}}.app-footer{text-align:center;color:#64748b;background-color:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem 2rem;font-size:.875rem}.app-footer p{margin:0;line-height:1.5}.git-hash{color:#475569;background-color:#e2e8f0;border-radius:.25rem;padding:.125rem .375rem;font-family:Courier New,monospace;font-size:.8125rem;font-weight:600}.github-link{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s}.github-link:hover{color:#5568d3;text-decoration:underline}.safety-sign-page{color:#000;max-width:8in;margin:0 auto}.safety-sign-section{border:1px solid #000;margin-bottom:.6rem;padding:.6rem .8rem}.safety-sign-section-title{text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;font-size:.8rem;font-weight:700}.safety-sign-row{justify-content:space-between;gap:1rem;padding:.15rem 0;font-size:.95rem;display:flex}.safety-sign-row-label{font-weight:600}.safety-sign-row-meta{font-variant-numeric:tabular-nums}.safety-sign-emergency{background-color:#b030300d;border:2px solid #b03030;padding:.6rem .8rem}.safety-sign-emergency-title{letter-spacing:.1em;color:#b03030;font-size:1rem;font-weight:800}.safety-sign-kill-grid{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.4rem;margin-top:.4rem;font-weight:600;display:flex}.safety-sign-kill-pill{color:#b03030;background:#fff;border:2px solid #b03030;border-radius:.25rem;padding:.15rem .5rem}@media print{body *{visibility:hidden}.safety-sign-page,.safety-sign-page *{visibility:visible}.safety-sign-page{width:100%;position:absolute;top:0;left:0;padding:.4in!important}.safety-sign-no-print{display:none!important}.safety-sign-section,.safety-sign-emergency{page-break-inside:avoid}@page{size:letter;margin:.4in}}.location-fixtures-list{width:100%}.fixtures-loading,.fixtures-error,.fixtures-empty{text-align:center;color:#666;padding:20px}.fixtures-error{color:#dc3545}.fixtures-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.fixture-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:box-shadow .2s}.fixture-card:hover{box-shadow:0 4px 8px #0000001a}.fixture-card h3{color:#333;margin:0 0 8px;font-size:1.2rem}.fixture-description{color:#666;margin:0 0 12px;font-size:.9rem}.fixture-meta{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.fixture-item{color:#666;font-size:.9rem}.pending-requests{color:#856404;background-color:#fff3cd;border-radius:12px;padding:4px 12px;font-size:.85rem;font-weight:500;display:inline-block}.fixture-actions{gap:8px;display:flex}.btn-scan{color:#fff;background-color:#667eea;border-radius:6px;padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-block}.btn-scan:hover{background-color:#5568d3}.location-detail-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;display:flex}.location-description{color:#666;margin:0;font-size:1.1rem}.header-actions{gap:12px;display:flex}.btn-edit,.btn-delete{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.location-details{flex-direction:column;gap:32px;display:flex}.detail-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.detail-section h2{color:#333;border-bottom:1px solid #e0e0e0;margin:0 0 20px;padding-bottom:12px;font-size:1.5rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.detail-item{flex-direction:column;gap:8px;display:flex}.detail-item label{color:#666;font-size:.9rem;font-weight:500}.detail-item span{color:#333;font-size:1rem}.status-badge{border-radius:12px;width:fit-content;padding:6px 12px;font-size:.9rem;font-weight:500;display:inline-block}.access-code{color:#667eea;font-family:monospace;font-size:1.2rem;font-weight:600}.qr-section{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.qr-image{background:#fff;border:2px solid #e0e0e0;border-radius:8px;max-width:300px;height:auto;padding:8px}.qr-actions{flex-wrap:wrap;gap:12px;display:flex}.btn-download,.btn-regenerate,.btn-generate{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-download{color:#fff;background-color:#28a745}.btn-download:hover{background-color:#218838}.btn-regenerate,.btn-generate{color:#fff;background-color:#667eea}.btn-regenerate:hover:not(:disabled),.btn-generate:hover:not(:disabled){background-color:#5568d3}.btn-regenerate:disabled,.btn-generate:disabled{opacity:.6;cursor:not-allowed}.no-qr-message{color:#666;margin:0 0 16px;font-size:1rem}.loading,.error{text-align:center;color:#666;padding:40px}.error{color:#dc3545}.btn-secondary{color:#333;background-color:#f0f0f0;border-radius:6px;margin-top:20px;padding:10px 20px;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-block}.btn-secondary:hover{background-color:#e0e0e0}.location-form-page{max-width:800px;margin:0 auto;padding:20px}.page-header{margin-bottom:24px}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:6px;margin-bottom:24px;padding:12px 16px}.location-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.form-group{margin-bottom:24px}.form-group label{color:#333;margin-bottom:8px;font-size:.95rem;font-weight:500;display:block}.checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-checkbox{cursor:pointer;width:18px;height:18px}.required{color:#dc3545}.form-input,.form-textarea,.form-select{border:2px solid #e0e0e0;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#667eea;outline:none}.form-textarea{resize:vertical;min-height:100px}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:1rem;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background-color:#667eea}.btn-primary:hover:not(:disabled){background-color:#5568d3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#333;background-color:#f0f0f0}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;color:#666;padding:40px}.location-list-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:#333;margin:0;font-size:2rem}.page-controls{margin-bottom:24px}.search-input{border:2px solid #e0e0e0;border-radius:6px;width:100%;max-width:400px;padding:10px 16px;font-size:1rem;transition:border-color .2s}.location-tree{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.location-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:16px;padding:12px;transition:background-color .2s;display:flex}.location-row:hover{background-color:#f8f9fa}.location-row:last-child{border-bottom:none}.location-info{flex:1;align-items:center;gap:12px;display:flex}.location-details{flex:1}.location-name{color:#333;margin-bottom:4px;font-size:1rem;font-weight:600}.location-description{color:#666;font-size:.9rem}.location-meta{align-items:center;gap:12px;min-width:200px;display:flex}.status-badge{border-radius:12px;padding:4px 12px;font-size:.85rem;font-weight:500}.status-badge.active{color:#155724;background-color:#d4edda}.status-badge.inactive{color:#721c24;background-color:#f8d7da}.qr-status{border-radius:12px;padding:4px 12px;font-size:.85rem;font-weight:500}.qr-status.has-qr{color:#0c5460;background-color:#d1ecf1}.qr-status.no-qr{color:#856404;background-color:#fff3cd}.fixture-count{color:#666;background-color:#f0f0f0;border-radius:12px;padding:4px 12px;font-size:.9rem}.location-actions{gap:8px;display:flex}.btn-view,.btn-edit,.btn-qr,.btn-delete{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-block}.btn-view{color:#fff;background-color:#17a2b8}.btn-view:hover{background-color:#138496}.btn-edit{color:#fff;background-color:#667eea}.btn-edit:hover{background-color:#5568d3}.btn-qr{color:#fff;background-color:#28a745}.btn-qr:hover{background-color:#218838}.btn-delete{color:#fff;background-color:#dc3545}.btn-delete:hover{background-color:#c82333}.empty-state{text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:60px 20px}.empty-state p{color:#666;margin-bottom:20px;font-size:1.1rem}.btn-primary{color:#fff;background-color:#667eea;border-radius:6px;padding:10px 20px;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-block}.btn-primary:hover{background-color:#5568d3}.logistics-dashboard{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#1e3a8a 0%,#1e40af 50%,#1e3a8a 100%);flex-direction:column;gap:1.5rem;height:100vh;max-height:100vh;padding:1.5rem 1.75rem;font-family:Segoe UI,Roboto,Arial,sans-serif;transition:transform 1s ease-in-out,background .5s ease-in-out;display:flex;position:relative;overflow:hidden}.logistics-dashboard--alert{background:linear-gradient(135deg,#7f1d1d 0%,#b91c1c 50%,#7f1d1d 100%);animation:2s ease-in-out infinite logistics-alert-pulse}@keyframes logistics-alert-pulse{0%,to{box-shadow:inset 0 0 #f000}50%{box-shadow:inset 0 0 80px #f009}}.logistics-alert-banner{color:#fff;letter-spacing:.08em;text-align:center;background:#ef4444;border-radius:.75rem;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1.5rem;font-size:2rem;font-weight:800;display:flex;box-shadow:0 0 24px #ef4444b3}.logistics-alert-banner__icon{font-size:2.5rem}.logistics-loading,.logistics-error{justify-content:center;align-items:center}.logistics-loader{letter-spacing:.1em;color:#fff;font-size:3.5rem;font-weight:600}.logistics-error-card{text-align:center;background:#0f172ae6;border:2px solid #3b82f680;border-radius:1.5rem;max-width:800px;padding:3rem}.logistics-error-card h1{margin:0 0 1rem;font-size:2.5rem}.logistics-error-card p{margin:.75rem 0;font-size:1.5rem}.logistics-error-tip{color:#ffffffb3;margin-top:1.5rem;font-size:1.25rem}.dashboard-grid{z-index:1;flex:1;grid-template-rows:1fr 1fr 1fr;grid-template-columns:repeat(3,1fr);gap:1.5rem;min-height:0;display:grid;position:relative}.metric-card--list{grid-column:1/-1;justify-content:flex-start;align-items:stretch;padding:1.5rem 2rem}.top-locations-list{color:#fffffff2;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.5rem 2.25rem;width:100%;margin:0;padding:0;font-size:1.85rem;list-style:inside decimal;display:grid;overflow:hidden}.top-locations-list li{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.25rem 0;display:flex}.top-location-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top-location-count{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.metric-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:1.25rem;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:0;padding:1.75rem 1.5rem;transition:transform .3s,box-shadow .3s;animation:300s ease-in-out infinite subtle-shift;display:flex;box-shadow:0 20px 60px #0000004d}.metric-card--alert{border-color:#fa525299;box-shadow:0 20px 60px #fa525240}.metric-card:hover{transform:translateY(-4px);box-shadow:0 25px 70px #0006}.metric-label{text-align:center;color:#ffffffeb;text-transform:uppercase;letter-spacing:.06em;max-width:22ch;font-size:1.75rem;font-weight:600;line-height:1.15}.metric-value{color:#fff;text-shadow:0 4px 20px #0000004d;font-variant-numeric:tabular-nums;font-size:6.5rem;font-weight:700;line-height:1}.metric-card--list .metric-label{text-align:left;align-self:flex-start;margin-bottom:.5rem}.sparkline-container{color:#fffc;justify-content:center;align-items:center;margin-top:.25rem;display:flex}.sparkline{filter:drop-shadow(0 2px 4px #0003)}.logistics-footer{z-index:1;flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;padding:0 .5rem;display:flex;position:relative}.footer-time{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.08em;text-shadow:0 4px 20px #0000004d;font-size:3rem;font-weight:600;animation:180s ease-in-out infinite subtle-pulse}.refresh-progress-container{flex:1;max-width:800px}.refresh-progress-bar{background:#fff3;border:1px solid #ffffff4d;border-radius:999px;height:10px;overflow:hidden}.refresh-progress-fill{background:linear-gradient(90deg,#60a5fa,#3b82f6,#60a5fa) 0 0/200% 100%;border-radius:999px;height:100%;transition:width .1s linear;animation:2s linear infinite progress-shimmer}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.bouncing-logo-container{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.bouncing-logo{opacity:.3;filter:drop-shadow(0 4px 8px #0000004d);justify-content:center;align-items:center;width:120px;height:60px;transition:opacity .3s;display:flex;position:absolute}.bouncing-logo img{object-fit:contain;filter:brightness(1.2);max-width:100%;max-height:100%}@keyframes subtle-shift{0%,to{transform:translate(0)}25%{transform:translate(.5px,.3px)}50%{transform:translate(-.3px,.5px)}75%{transform:translate(.3px,-.5px)}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.98}}@media (width<=1366px){.logistics-dashboard{gap:1rem;padding:1rem}.dashboard-grid{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(2,1fr);gap:1rem}.metric-card{padding:1.25rem 1rem}.metric-label{font-size:1.25rem}.metric-value{font-size:4.5rem}.top-locations-list{font-size:1.4rem}.top-location-count{font-size:1.6rem}.footer-time{font-size:2.25rem}}@media (width<=1024px){.logistics-dashboard{height:auto;min-height:100vh;overflow:auto}.dashboard-grid{grid-template-rows:repeat(7,minmax(140px,1fr));grid-template-columns:1fr;gap:.75rem}.metric-card--list{grid-column:1/-1}.top-locations-list{grid-template-columns:1fr;font-size:1.25rem}.metric-value{font-size:3.5rem}.footer-time{font-size:2rem}}.po-form-page{max-width:1400px;margin:0 auto;padding:2rem;font-family:Libre Franklin,-apple-system,BlinkMacSystemFont,sans-serif}.po-form-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);margin-bottom:2rem;padding-bottom:1rem}.po-form-header h1{color:var(--text-primary,#1a202c);margin:0 0 .5rem;font-size:1.875rem;font-weight:700}.po-form-subtitle{color:var(--text-secondary,#64748b);margin:0;font-size:1rem}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.error-message p{color:#991b1b;margin:0;font-weight:500}.error-message button{color:#991b1b;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-weight:600}.error-message button:hover{text-decoration:underline}.form-section{background:var(--bg-card,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.form-section h2{color:var(--text-primary,#1a202c);margin:0 0 1.25rem;font-size:1.125rem;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.section-header h2{margin:0}.no-data{color:var(--text-secondary,#64748b);margin:0;padding:1rem 0;font-style:italic}.supplier-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.supplier-card{text-align:left;background:var(--bg-secondary,#f8fafc);border:2px solid var(--border-subtle,#e2e8f0);cursor:pointer;border-radius:.5rem;width:100%;padding:1.25rem;transition:all .15s;display:block}.supplier-card:hover{border-color:var(--accent-primary,#3b82f6);background:var(--bg-hover,#f1f5f9)}.supplier-card.selected{border-color:var(--accent-primary,#3b82f6);background:#eff6ff;box-shadow:0 0 0 3px #3b82f626}.supplier-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.supplier-card-header h3{color:var(--text-primary,#1a202c);margin:0;font-size:1rem;font-weight:600}.supplier-type{text-transform:uppercase;letter-spacing:.025em;background:var(--bg-tertiary,#e2e8f0);color:var(--text-secondary,#64748b);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.supplier-card-stats{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.stat{flex-direction:column;gap:.125rem;display:flex}.stat-value{color:var(--text-primary,#1a202c);font-size:1.125rem;font-weight:600}.stat-label{color:var(--text-secondary,#64748b);font-size:.75rem}.items-table-container{margin:0 -.5rem;padding:0 .5rem;overflow-x:auto}.items-table{border-collapse:collapse;width:100%;font-size:.875rem}.items-table th,.items-table td{text-align:left;border-bottom:1px solid var(--border-subtle,#e2e8f0);padding:.75rem .5rem}.items-table th{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.025em;background:var(--bg-secondary,#f8fafc);font-size:.75rem;font-weight:600}.items-table tbody tr:hover{background:var(--bg-hover,#f8fafc)}.items-table tfoot td{background:var(--bg-secondary,#f8fafc);border-top:2px solid var(--border-subtle,#e2e8f0);font-weight:600}.row-selected{background:0 0}.row-unselected{opacity:.5}.col-checkbox{width:40px;text-align:center!important}.col-stock,.col-quantity,.col-cost,.col-lead,.col-total{width:100px;text-align:right!important}.col-actions{width:80px;text-align:center!important}.item-info{flex-direction:column;gap:.125rem;display:flex}.item-name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.item-name{color:var(--text-primary,#1a202c);font-weight:500}.reorder-badge{text-transform:uppercase;letter-spacing:.05em;color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;border-radius:.25rem;padding:.25rem .5rem;font-size:.625rem;font-weight:600;display:inline-block}.item-sku{color:var(--text-secondary,#64748b);font-family:JetBrains Mono,monospace;font-size:.75rem}.stock-critical{color:#dc2626;font-weight:600}.stock-low{color:#d97706;font-weight:500}.items-table input[type=number],.items-table input[type=text]{border:1px solid var(--border-subtle,#d1d5db);background:var(--bg-input,#fff);width:100%;max-width:100px;color:var(--text-primary,#1a202c);border-radius:.375rem;padding:.375rem .5rem;font-size:.875rem}.items-table input[type=number]:disabled{background:var(--bg-disabled,#f3f4f6);color:var(--text-disabled,#9ca3af);cursor:not-allowed}.items-table input:focus{border-color:var(--accent-primary,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.input-description{width:100%!important;max-width:none!important}.input-error{border-color:#dc2626!important}.subtotal-label{text-align:right!important;padding-right:1rem!important}.subtotal-value{color:var(--text-primary,#1a202c);font-weight:600;text-align:right!important}.btn-add{background:var(--accent-primary,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.btn-add:hover{background:var(--accent-primary-hover,#2563eb)}.btn-remove{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc2626;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .15s}.btn-remove:hover{color:#fff;background:#dc2626}.details-grid{grid-template-columns:200px 1fr;gap:1.5rem;display:grid}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field label{color:var(--text-primary,#1a202c);font-size:.875rem;font-weight:500}.form-field input[type=date],.form-field textarea{border:1px solid var(--border-subtle,#d1d5db);background:var(--bg-input,#fff);color:var(--text-primary,#1a202c);border-radius:.375rem;padding:.625rem .75rem;font-family:inherit;font-size:.875rem}.form-field textarea{resize:vertical;min-height:80px}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent-primary,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.notes-field{grid-column:1/-1}.order-summary{background:var(--bg-secondary,#f8fafc);border-radius:.5rem;padding:1.25rem}.summary-row{color:var(--text-secondary,#64748b);justify-content:space-between;padding:.5rem 0;font-size:.875rem;display:flex}.summary-row:not(:last-child){border-bottom:1px dashed var(--border-subtle,#e2e8f0)}.summary-total{color:var(--text-primary,#1a202c);border-top:2px solid var(--border-subtle,#e2e8f0);margin-top:.5rem;padding-top:1rem;font-size:1.125rem;font-weight:700;border-bottom:none!important}.form-actions{border-top:1px solid var(--border-subtle,#e2e8f0);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-cancel{color:var(--text-secondary,#64748b);border:1px solid var(--border-subtle,#d1d5db);cursor:pointer;background:0 0;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .15s}.btn-cancel:hover{background:var(--bg-hover,#f1f5f9);border-color:var(--text-secondary,#64748b)}.btn-submit{background:var(--accent-primary,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 2rem;font-size:.875rem;font-weight:600;transition:background .15s}.btn-submit:hover:not(:disabled){background:var(--accent-primary-hover,#2563eb)}.btn-submit:disabled{background:var(--bg-disabled,#9ca3af);cursor:not-allowed}@media (width<=768px){.po-form-page{padding:1rem}.supplier-cards,.details-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{justify-content:center;width:100%}}.case-help-text{color:#1e40af;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;margin:0 0 12px;padding:8px 12px;font-size:13px}.case-qty-group{flex-direction:column;gap:4px;display:flex}.case-qty-group .case-qty-field{align-items:center;gap:6px;display:flex}.case-qty-label{color:#475569;min-width:44px;font-size:12px}.case-qty-summary{color:#475569;margin-top:2px;font-size:11px}@media (prefers-color-scheme:dark){.case-help-text{color:#93c5fd;background:#1e3a5f;border-left-color:#3b82f6}.case-qty-label,.case-qty-summary{color:#cbd5e1}.po-form-page{--bg-card:#1e293b;--bg-secondary:#0f172a;--bg-hover:#1e293b;--bg-tertiary:#334155;--bg-input:#1e293b;--bg-disabled:#374151;--border-subtle:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-disabled:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#60a5fa}.error-message{background:#450a0a;border-color:#7f1d1d}.error-message p,.error-message button{color:#fca5a5}.supplier-card.selected{background:#1e3a5f}.reorder-badge{color:#93c5fd;background:#1e3a5f;border-color:#3b82f6}}.purchase-order-list-page{max-width:1400px;margin:0 auto;padding:2rem}.po-list-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;display:flex}.po-list-header h1{color:#1e293b;margin:0 0 .5rem;font-size:2rem}.po-list-subtitle{color:#64748b;margin:0;font-size:1rem}.po-list-actions{align-items:center;gap:1rem;display:flex}.create-po-link{color:#fff;background-color:#3b82f6;border-radius:.375rem;padding:.5rem 1rem;font-weight:600;text-decoration:none;transition:all .2s}.create-po-link:hover{background-color:#2563eb}.transparency-link{color:#667eea;border:1px solid #667eea;border-radius:.375rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s}.transparency-link:hover{color:#fff;background-color:#667eea}.po-list-filters{background-color:#f8fafc;border-radius:.5rem;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.po-list-filters label{color:#475569;font-weight:500}.status-filter-select{cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem}.status-filter-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.po-list-summary{background-color:#f8fafc;border-radius:.5rem;gap:2rem;margin-bottom:2rem;padding:1rem;display:flex}.summary-item{flex-direction:column;gap:.25rem;display:flex}.summary-label{color:#64748b;font-size:.875rem;font-weight:500}.summary-value{color:#1e293b;font-size:1.25rem;font-weight:600}.po-list-table{margin-top:2rem}.orders-table{border-collapse:collapse;background-color:#fff;border-radius:.5rem;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000001a}.orders-table thead{background-color:#f1f5f9}.orders-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.875rem;font-weight:600}.orders-table td{color:#1e293b;border-top:1px solid #e2e8f0;padding:1rem}.orders-table tbody tr:hover{background-color:#f8fafc}.po-number{color:#667eea;font-weight:600}.status-badge{text-transform:uppercase;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.status-sent,.status-badge.status-confirmed{color:#1e40af;background-color:#dbeafe}.status-badge.status-partially-received{color:#92400e;background-color:#fef3c7}.status-badge.status-default{color:#475569;background-color:#f1f5f9}.view-order-link{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s}.view-order-link:hover{color:#5568d3;text-decoration:underline}.no-data{color:#94a3b8;font-style:italic}.no-orders{text-align:center;color:#64748b;padding:3rem}@media (width<=768px){.purchase-order-list-page{padding:1rem}.po-list-header,.po-list-summary{flex-direction:column;gap:1rem}.orders-table{font-size:.875rem}.orders-table th,.orders-table td{padding:.5rem}}.purchase-order-page{max-width:1200px;margin:0 auto;padding:2rem}.po-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;display:flex}.po-header h1{color:#1e293b;margin:0 0 .5rem;font-size:2rem}.po-supplier{color:#64748b;margin:0;font-size:1rem}.po-status{align-items:center;display:flex}.status-badge{text-transform:uppercase;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.status-badge.status-draft{color:#475569;background-color:#f1f5f9}.status-badge.status-sent,.status-badge.status-confirmed{color:#1e40af;background-color:#dbeafe}.status-badge.status-partially_received{color:#92400e;background-color:#fef3c7}.status-badge.status-received{color:#065f46;background-color:#d1fae5}.status-badge.status-cancelled{color:#991b1b;background-color:#fee2e2}.po-info{background-color:#f8fafc;border-radius:.5rem;gap:2rem;margin-bottom:2rem;padding:1rem;display:flex}.info-item{flex-direction:column;gap:.25rem;display:flex}.info-label{color:#64748b;font-size:.875rem;font-weight:500}.info-value{color:#1e293b;font-size:1rem;font-weight:600}.po-items{margin-top:2rem}.po-items h2{color:#1e293b;margin-bottom:1rem;font-size:1.5rem}.items-table{border-collapse:collapse;background-color:#fff;border-radius:.5rem;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000001a}.items-table thead{background-color:#f1f5f9}.items-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.875rem;font-weight:600}.items-table td{color:#1e293b;border-top:1px solid #e2e8f0;padding:1rem}.items-table tbody tr:hover{background-color:#f8fafc}.no-data{text-align:center;color:#94a3b8;padding:2rem;font-style:italic}.shipment-date-display{align-items:center;gap:.5rem;display:flex}.btn-edit{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1rem;transition:opacity .2s}.btn-edit:hover{opacity:1}.edit-shipment-date{flex-direction:column;gap:.5rem;display:flex}.date-input{border:1px solid #cbd5e1;border-radius:.375rem;width:100%;max-width:200px;padding:.5rem;font-size:.875rem}.date-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.edit-line-cost{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.cost-input{border:1px solid #cbd5e1;border-radius:.375rem;width:100%;max-width:200px;padding:.5rem;font-size:.875rem}.cost-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.calculated-unit-cost{color:#64748b;margin-top:.25rem;font-size:.75rem}.line-cost-display{align-items:center;gap:.5rem;display:flex}.edit-actions{gap:.5rem;display:flex}.btn-save,.btn-cancel,.btn-edit-item{cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-save{color:#fff;background-color:#667eea}.btn-save:hover:not(:disabled){background-color:#5568d3}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{color:#475569;background-color:#e2e8f0}.btn-cancel:hover:not(:disabled){background-color:#cbd5e1}.btn-edit-item{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1}.btn-edit-item:hover{background-color:#e2e8f0}.loading,.error{text-align:center;padding:3rem}.error p{color:#64748b}.voided-item{opacity:.6;background-color:#fef2f2!important}.voided-item:hover{background-color:#fee2e2!important}.status-voided{color:#991b1b;background-color:#fee2e2}.void-po-button{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:.375rem;margin-left:.5rem;padding:.5rem 1rem;font-weight:600}.void-po-button:hover:not(:disabled){background-color:#b91c1c}.void-po-button:disabled{opacity:.6;cursor:not-allowed}.po-voided-banner{background-color:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:.5rem;margin:1rem 0;padding:1rem 1.25rem}.po-voided-banner .void-reason{color:#7f1d1d;margin:.5rem 0 0}.po-voided-banner .void-meta{color:#991b1b;margin:.25rem 0 0;font-size:.875rem}.status-active{color:#065f46;background-color:#d1fae5}.void-item-form{flex-direction:column;gap:.5rem;min-width:300px;display:flex}.void-item-form textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:.375rem;padding:.5rem;font-family:inherit;font-size:.875rem}.void-item-form textarea:focus{border-color:#dc2626;outline:none;box-shadow:0 0 0 3px #dc26261a}.btn-void,.btn-void-item{cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-void{color:#fff;background-color:#dc2626}.btn-void:hover:not(:disabled){background-color:#b91c1c}.btn-void:disabled{opacity:.6;cursor:not-allowed}.btn-void-item{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca}.btn-void-item:hover{background-color:#fecaca}.voided-status{flex-direction:column;gap:.25rem;display:flex}.item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.view-only-note{color:#94a3b8;font-size:.875rem;font-style:italic}.sig-dashboard{max-width:1200px;margin:0 auto;padding:20px}.sig-dashboard-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.sig-dashboard-header h1{margin:0}.sig-selector{border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:16px}.sig-tabs{border-bottom:2px solid #eee;gap:10px;margin-bottom:20px;display:flex}.sig-tabs button{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:16px;transition:all .2s}.sig-tabs button:hover{color:#333}.sig-tabs button.active{color:#007bff;border-bottom-color:#007bff}.sig-content{padding:20px 0}.sig-overview h2{margin-bottom:20px}.sig-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{text-align:center;background:#f8f9fa;border-radius:8px;padding:20px}.stat-card h3{color:#666;text-transform:uppercase;margin:0 0 10px;font-size:14px}.stat-value{color:#007bff;margin:0;font-size:32px;font-weight:700}.sig-admins{margin-top:30px}.sig-admins h3{margin-bottom:10px}.sig-admins ul{padding:0;list-style:none}.sig-admins li{border-bottom:1px solid #eee;padding:8px 0}.sig-members table,.sig-assets .asset-list,.sig-inventory .inventory-list,.sig-reorders .reorder-list{width:100%}.sig-members table{border-collapse:collapse}.sig-members th,.sig-members td{text-align:left;border-bottom:1px solid #eee;padding:12px}.sig-members th{background:#f8f9fa;font-weight:600}.asset-card,.inventory-card,.reorder-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.asset-card h3,.inventory-card h3,.reorder-card h3{margin:0 0 10px}.needs-reorder{color:#000;background:#ffc107;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.sig-dashboard-loading,.sig-dashboard-empty{text-align:center;padding:40px}.site-settings-page{max-width:1200px;margin:0 auto;padding:1rem}.logo-preview-section{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.transparency-page{color:#f8fafc;background:linear-gradient(135deg,#1e293b 0%,#334155 50%,#1e293b 100%);min-height:100vh;padding:2rem;font-family:Arial,Helvetica,sans-serif}.transparency-header{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1.5rem;margin-bottom:3rem;padding:2rem;box-shadow:0 8px 32px #0003}.transparency-header h1{color:#fff;text-shadow:2px 2px 4px #000c;justify-content:center;align-items:center;gap:1rem;margin:0 0 1rem;font-size:3rem;font-weight:700;display:flex}.transparency-header .icon{font-size:3.5rem}.transparency-mission{color:#ffffffe6;max-width:800px;margin:0 auto;font-size:1.4rem;line-height:1.6}.loading,.error{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}.loading-spinner{margin-bottom:1rem;font-size:4rem;animation:2s linear infinite rotate}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error h2{color:#ef4444;margin-bottom:1rem}.error button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:.5rem;padding:1rem 2rem;font-size:1.1rem;transition:background .3s}.error button:hover{background:#2563eb}.summary-section{margin-bottom:3rem}.summary-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1.5rem;padding:2rem;box-shadow:0 8px 32px #0003}.summary-card h2{color:#fff;text-align:center;text-shadow:2px 2px 4px #000c;margin-bottom:2rem;font-size:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.stat-item{text-align:center;background:#0f172a4d;border:1px solid #f8fafc1a;border-radius:1rem;padding:1.5rem}.stat-label{color:#fffc;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:1.1rem;display:block}.stat-value{color:#10b981;text-shadow:1px 1px 2px #00000080;font-size:2rem;font-weight:700;display:block}.ledger-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1.5rem;margin-bottom:3rem;padding:2rem;box-shadow:0 8px 32px #0003}.section-header{text-align:center;margin-bottom:1.5rem}.section-header h2{color:#fff;text-shadow:2px 2px 4px #000c;margin-bottom:.5rem;font-size:2rem}.section-subtitle{color:#ffffffbf;max-width:700px;margin:0 auto;font-size:1rem}.ledger-table-container{overflow-x:auto}.ledger-table{border-collapse:collapse;width:100%;min-width:720px}.ledger-table th,.ledger-table td{text-align:left;border-bottom:1px solid #94a3b833;padding:.9rem 1rem}.ledger-table th{text-transform:uppercase;letter-spacing:.06em;color:#e2e8f0d9;background:#0f172a59;font-size:.85rem}.ledger-table tbody tr:hover{background:#1e293b59}.ledger-item-name{color:#f8fafc;font-weight:600}.ledger-item-meta{color:#94a3b8d9;flex-wrap:wrap;gap:.5rem;margin-top:.3rem;font-size:.8rem;display:flex}.ledger-item-meta span{background:#0f172a99;border-radius:9999px;padding:.2rem .75rem}.ledger-status{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.empty-ledger{text-align:center;color:#94a3b8cc;background:#0f172a59;border:2px dashed #94a3b84d;border-radius:1rem;padding:2rem}.orders-section h2{color:#fff;text-align:center;text-shadow:2px 2px 4px #000c;margin-bottom:2rem;font-size:2rem}.orders-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;display:grid}.order-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1.5rem;padding:2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 32px #0003}.order-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000004d}.order-header{border-bottom:1px solid #f8fafc1a;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.order-header h3{color:#fff;text-shadow:1px 1px 2px #00000080;margin:0;font-size:1.4rem;font-weight:700}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:2rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.status-pending{color:#fff;background:#f59e0b}.status-approved{color:#fff;background:#8b5cf6}.status-ordered{color:#fff;background:#3b82f6}.status-received{color:#fff;background:#10b981}.status-cancelled{color:#fff;background:#ef4444}.order-details,.financial-info,.timeline{margin-bottom:1.5rem}.detail-row{justify-content:space-between;margin-bottom:.5rem;padding:.3rem 0;display:flex}.detail-row .label{color:#fffc;font-weight:500}.detail-row .value{color:#fff;font-weight:600}.over-budget{color:#ef4444!important}.under-budget{color:#10b981!important}.timeline-item{justify-content:space-between;margin-bottom:.3rem;font-size:.95rem;display:flex}.timeline-label{color:#ffffffb3}.timeline-date{color:#93c5fd;font-weight:500}.document-links{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.doc-link{color:#93c5fd;background:#3b82f633;border:1px solid #3b82f64d;border-radius:1rem;align-items:center;gap:.3rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.doc-link:hover{color:#fff;background:#3b82f64d;transform:translateY(-2px)}.order-number{color:#ffffffb3;text-align:center;background:#0f172a4d;border-radius:.5rem;margin-bottom:1rem;padding:.5rem;font-family:monospace;font-size:.9rem}.public-notes{background:#10b9811a;border-left:4px solid #10b981;border-radius:.5rem;margin-top:1rem;padding:1rem}.public-notes p{color:#ffffffe6;margin:0;line-height:1.5}.transparency-footer{text-align:center;background:#0f172a66;border:1px solid #f8fafc1a;border-radius:1rem;margin-top:4rem;padding:2rem}.transparency-footer p{color:#fffc;margin-bottom:1rem;line-height:1.6}.transparency-footer a{color:#10b981;font-weight:600;text-decoration:none;transition:color .3s}.transparency-footer a:hover{color:#34d399;text-decoration:underline}@media (width<=768px){.transparency-page{padding:1rem}.transparency-header h1{flex-direction:column;gap:.5rem;font-size:2rem}.orders-grid,.stats-grid{grid-template-columns:1fr}.order-header{flex-direction:column;align-items:flex-start;gap:1rem}.detail-row{flex-direction:column;gap:.2rem}}.inventory-list-container{max-width:1400px;margin:0 auto;padding:2rem}.inventory-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.inventory-header h2{color:#333;margin:0}.inventory-stats{gap:1rem;display:flex}.stat-badge{border-radius:20px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.stat-badge.low-stock{color:#856404;background-color:#fff3cd;border:1px solid #ffc107}.inventory-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.search-input{touch-action:manipulation;border:2px solid #e0e0e0;border-radius:8px;flex:1;min-width:250px;min-height:44px;padding:.75rem 1rem;font-size:1rem;transition:border-color .3s}.search-input:focus{border-color:#007bff;outline:none}.filter-buttons{gap:.5rem;display:flex}.filter-buttons button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#007bff1a;background:#fff;border:2px solid #e0e0e0;border-radius:8px;min-width:44px;min-height:44px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .3s,transform .1s}.filter-buttons button:hover{background-color:#f8f9fa;border-color:#007bff}.filter-buttons button:active{transform:scale(.95)}.filter-buttons button.active{color:#fff;background-color:#007bff;border-color:#007bff}.filter-buttons button.active:active{background-color:#0056b3}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.inventory-card{cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000000d;background:#fff;border:2px solid #e0e0e0;border-radius:12px;min-height:44px;transition:all .3s,transform .1s;position:relative;overflow:hidden}.inventory-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.inventory-card:active{transform:scale(.98);box-shadow:0 2px 8px #00000026}@media (width<=768px){.inventory-card:before{content:"← Swipe for actions";color:#999;opacity:0;pointer-events:none;z-index:1;font-size:.7rem;transition:opacity .3s;position:absolute;top:8px;right:8px}.inventory-card:first-child:before{opacity:.5}}.inventory-card.low-stock{background-color:#fffef7;border-color:#ffc107}.item-image{background-color:#f8f9fa;justify-content:center;align-items:center;width:100%;height:200px;display:flex;overflow:hidden}.item-image img{object-fit:cover;width:100%;height:100%}.item-details{padding:1.25rem}.item-name{color:#333;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.item-sku{color:#666;margin:0 0 .75rem;font-family:monospace;font-size:.875rem}.item-category{color:#1976d2;background-color:#e3f2fd;border-radius:12px;margin-bottom:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.item-stock{background-color:#f8f9fa;border-radius:8px;margin:1rem 0;padding:.75rem}.stock-row{justify-content:space-between;margin-bottom:.5rem;display:flex}.stock-row:last-child{margin-bottom:0}.stock-label{color:#666;font-size:.875rem}.stock-value{font-size:1rem;font-weight:700}.stock-value.good{color:#28a745}.stock-value.low{color:#dc3545}.units-detail{opacity:.7;margin-top:2px;font-size:.85em}.stock-value-small{color:#666;font-size:.9em}.reorder-badge{color:#856404;background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.pending-badge{color:#0c5460;background-color:#d1ecf1;border-left:4px solid #17a2b8;border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.item-location{color:#666;margin-top:.75rem;font-size:.875rem}.item-price{color:#28a745;margin-top:.75rem;font-size:.875rem;font-weight:600}.loading{text-align:center;color:#666;padding:3rem;font-size:1.125rem}.no-results{text-align:center;color:#999;background:#fff;border:2px dashed #e0e0e0;border-radius:12px;padding:3rem;font-size:1.125rem}@media (width<=768px){.inventory-list-container{padding:1rem}.inventory-grid{grid-template-columns:1fr;gap:1rem}.inventory-controls{flex-direction:column;align-items:stretch;gap:1rem}.search-input{width:100%;min-width:0;font-size:16px}.filter-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%;display:grid}.filter-buttons button{width:100%;padding:.875rem 1rem;font-size:.875rem}.generate-test-sheet-btn{grid-column:1/-1;width:100%}.inventory-header{flex-direction:column;align-items:flex-start;gap:1rem}.inventory-card{border-radius:12px}.item-image{height:180px}.item-details{padding:1rem}.item-name{margin-bottom:.5rem;font-size:1.125rem}.item-sku{margin-bottom:.5rem;font-size:.875rem}.item-stock{margin:.75rem 0;padding:.625rem}.stock-row{margin-bottom:.375rem;font-size:.875rem}.reorder-badge,.pending-badge{margin-top:.5rem;padding:.5rem .625rem;font-size:.8125rem}.inventory-controls{z-index:10;background:#f5f5f5;border-bottom:1px solid #e0e0e0;margin:-1rem -1rem 1rem;padding:1rem;position:sticky;top:60px}}.tv-dashboard{color:#f8fafc;background:linear-gradient(135deg,#1e293b 0%,#334155 50%,#1e293b 100%);min-height:100vh;font-family:Arial,Helvetica,sans-serif;font-weight:500;transition:transform 3s ease-in-out;position:relative;overflow-x:hidden}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.98}}.tv-dashboard:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 25% 25%,#ffffff05 0%,#0000 50%),radial-gradient(circle at 75% 75%,#ffffff03 0%,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}.tv-dashboard>*{z-index:1;position:relative}.dashboard-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a66;border-bottom:3px solid #ffffff1a;padding:2rem 3rem;box-shadow:0 4px 20px #0000001a}.header-content{align-items:center;gap:2rem;margin-bottom:1rem;display:flex}.logo-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1.5rem;flex-shrink:0;padding:1rem;box-shadow:0 8px 32px #0003}.dashboard-logo{object-fit:contain;filter:drop-shadow(2px 2px 4px #00000080);width:auto;max-width:12rem;height:6rem}.title-section{flex:1}.dashboard-header h1{color:#fff;text-shadow:2px 2px 4px #000c;align-items:center;gap:1rem;margin:0;font-size:3.5rem;font-weight:700;display:flex}.dashboard-header h1 .icon{font-size:4rem}.subtitle{color:#fff;text-shadow:2px 2px 4px #000c;margin:.5rem 0 0;font-size:2rem;font-weight:400}.status-bar{justify-content:space-between;align-items:center;font-size:1.8rem;font-weight:600;display:flex}.item-count{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:2rem;padding:.5rem 1.5rem}.last-updated{opacity:.9;font-size:1.5rem;font-weight:400}.dashboard-content{flex:1;padding:3rem}.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.loading-spinner{border:8px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:80px;height:80px;margin-bottom:2rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen h1{text-shadow:2px 2px 4px #00000080;margin:0;font-size:3rem}.error-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.error-icon{margin-bottom:2rem;font-size:6rem}.error-screen h1{color:#fef2f2;text-shadow:2px 2px 4px #00000080;margin:0 0 1rem;font-size:3.5rem}.error-screen p{opacity:.9;margin:.5rem 0;font-size:1.8rem}.empty-state-carousel{justify-content:center;align-items:center;min-height:50vh;display:flex;position:relative}.slide-in{animation:.8s ease-out slideIn}.no-items{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.no-items-icon{margin-bottom:2rem;font-size:8rem}.no-items h2{color:#10b981;text-shadow:2px 2px 4px #00000080;margin:0 0 1rem;font-size:4rem}.no-items p{opacity:.9;margin:0;font-size:2rem}.scan-instructions{width:100%;max-width:1200px;padding:2rem}.instructions-title{color:#fff;text-shadow:2px 2px 4px #000c;text-align:center;justify-content:center;align-items:center;gap:1rem;margin:0 0 3rem;font-size:3.5rem;display:flex}.icon-large{font-size:4rem}.instruction-content{justify-content:center;align-items:center;gap:3rem;display:flex}.sample-card-container{align-items:center;gap:2rem;display:flex}.sample-card-demo.inventory-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc1f;border:3px solid #ffc107;border-radius:1.5rem;min-width:400px;max-width:400px;padding:2rem;box-shadow:0 8px 32px #0000004d}.sample-card-demo .item-name{color:#fff;text-shadow:2px 2px 4px #000c;font-size:2rem}.sample-card-demo .item-sku{color:#ffffffe6;font-size:1.2rem}.sample-card-demo .item-category{color:#93c5fd;background-color:#e3f2fd33;border:1px solid #3b82f6;font-size:1rem}.sample-card-demo .item-stock{background-color:#0f172a66;margin:1rem 0}.sample-card-demo .stock-label{color:#fffc;font-size:1.1rem}.sample-card-demo .stock-value{font-size:1.3rem}.sample-card-demo .reorder-badge{color:#fbbf24;background-color:#fff3cd33;border-color:#fbbf24;font-size:1.1rem}.sample-card-demo .item-location{color:#ffffffe6;font-size:1.2rem}.sample-qr-highlight{background:#fff;border-radius:1rem;margin-top:1.5rem;padding:1rem;display:inline-block;position:relative;box-shadow:0 0 0 4px #fbbf2480}.qr-pulse{border:4px solid #fbbf24;border-radius:1.2rem;animation:2s ease-in-out infinite qrPulse;position:absolute;inset:-10px}@keyframes qrPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.giant-arrow{flex-direction:column;align-items:center;gap:1rem;display:flex}.arrow-path{filter:drop-shadow(0 0 8px #fbbf24cc);animation:1.5s ease-in-out infinite arrowBounce}@keyframes arrowBounce{0%,to{transform:translate(0)}50%{transform:translate(10px)}}.arrow-label{color:#fbbf24;text-shadow:2px 2px 4px #000c;letter-spacing:.1em;font-size:2.5rem;font-weight:900;animation:1.5s ease-in-out infinite labelPulse}@keyframes labelPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.instruction-steps{flex-direction:column;gap:1.5rem;min-width:350px;display:flex}.step{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1rem;align-items:center;gap:1.5rem;padding:1.5rem;font-size:1.8rem;transition:all .3s;display:flex}.step:hover{background:#f8fafc1f;transform:translate(10px)}.step-number{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;font-weight:700;display:flex;box-shadow:0 4px 12px #10b98166}.items-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem;max-width:1800px;margin:0 auto;transition:all 1s ease-in-out;display:grid}.item-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafc14;border:2px solid #f8fafc26;border-radius:1.5rem;padding:2rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 32px #0003}.item-card:before{content:"";background:#10b981;height:6px;position:absolute;top:0;left:0;right:0}.item-card.stock-low:before{background:#f59e0b}.item-card.stock-critical:before{background:#ef4444}.item-card.stock-empty:before{background:#dc2626;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.item-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000004d}.item-image{background:#f8fafc14;border:1px solid #f8fafc1a;border-radius:1rem;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1.5rem;display:flex;position:relative;overflow:hidden}.item-image img{object-fit:contain;border-radius:1rem;width:100%;height:100%;padding:.25rem;transition:opacity .3s}.item-image img:hover{opacity:.9}.placeholder-image{opacity:.6;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;display:flex}.placeholder-image-fallback{background:#ffffff1a;border-radius:1rem;position:absolute;inset:0}.image-loading-placeholder{opacity:.6;z-index:1;background:#ffffff1a;border-radius:1rem;justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:absolute;inset:0}.image-loading-placeholder span{animation:2s infinite pulse}.item-info{text-align:center;margin-bottom:2rem}.item-name{text-shadow:2px 2px 4px #000,0 0 8px #fff6,0 0 12px #fff3;margin:0 0 1rem;font-size:2rem;font-weight:700;line-height:1.2;color:#fff!important}.item-details{opacity:.9;flex-direction:column;gap:.5rem;font-size:1.3rem;display:flex}.item-details>div{justify-content:center;align-items:center;gap:.5rem;display:flex}.item-details .icon{font-size:1.1rem}.order-info{text-align:center;margin-bottom:1.5rem}.delivery-section{margin-bottom:1.5rem}.delivery-date{color:#10b981;background:#10b9811a;border:2px solid #10b9814d;border-radius:1rem;margin-bottom:.5rem;padding:.8rem;font-size:1.8rem;font-weight:700}.quantity-info{color:#93c5fd;margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.request-section{margin-bottom:1.5rem}.lead-time-info{opacity:.9;color:#d1d5db;font-size:1.1rem}.status-history{background:#0f172a66;border:1px solid #f8fafc1a;border-radius:1rem;margin-bottom:1rem;padding:1rem}.last-status{text-align:center}.status-action{color:#fff;margin-bottom:.3rem;font-size:1.2rem}.status-date{color:#ffffffb3;font-size:1rem;font-weight:500}.supplier,.lead-time{opacity:.9;font-size:1.1rem}.delivery-info{text-align:center;background:#10b9811a;border:2px solid #10b9814d;border-radius:1rem;padding:1rem}.expected-delivery{color:#10b981;margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.order-details{color:#fff;opacity:.9;font-size:1.1rem}.status-indicator{text-align:center;margin-top:1rem}.status-text{text-transform:uppercase;letter-spacing:.05em;color:#fff;text-shadow:1px 1px 2px #00000080;border-radius:2rem;padding:.5rem 1.5rem;font-size:1.1rem;font-weight:700;display:inline-block}.order-pending{border-color:#f59e0b80}.order-approved{border-color:#8b5cf680}.order-placed{border-color:#10b98180}.order-cancelled{opacity:.7;border-color:#ef444480}.order-default{border-color:#ef444480}.estimated-delivery-header{text-align:center;background:#10b9811a;border:2px solid #10b9814d;border-radius:1rem;margin-bottom:1.5rem;padding:1rem}.estimated-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.estimated-date{color:#10b981;font-size:1.6rem;font-weight:700}.progress-container{background:#0f172a4d;border:1px solid #f8fafc1a;border-radius:1rem;margin:1.5rem 0;padding:.25rem}.progress-bar{background:0 0;border-radius:2.5rem;justify-content:space-between;align-items:flex-start;gap:0;width:100%;min-height:5rem;padding:0;display:flex;position:relative}.progress-bar:before{content:"";z-index:1;background:#f8fafc26;border-radius:1.25rem;width:calc(100% - 2rem);height:2.5rem;position:absolute;top:0;left:1rem}.progress-bar:after{content:"";z-index:1;height:2.5rem;width:calc((100% - 2rem) * var(--progress-width-num,0) / 100);background:#10b981;border-radius:1.25rem;max-width:calc(100% - 2rem);transition:width .5s;position:absolute;top:0;left:1rem}.progress-stage{z-index:2;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.progress-stage:first-child{align-items:flex-start;padding-left:1rem}.progress-stage:last-child{align-items:flex-end;padding-right:1rem}.stage-connector,.connector-line{display:none}.connector-line.completed{background-color:#10b981}.connector-line.pending{background-color:#fff3}.stage-dot{z-index:3;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-bottom:.25rem;font-size:1rem;font-weight:700;transition:all .3s;display:flex}.stage-dot.completed{color:#fff;background-color:#10b981;font-size:.9rem}.stage-dot.current{color:#fff;background-color:#3b82f6;border-color:#60a5fa;animation:2s infinite pulse}.stage-dot.pending{color:#ffffff80;background-color:#ffffff1a;border-color:#fff3}.stage-label{text-align:center;text-shadow:2px 2px 4px #000c;word-wrap:break-word;justify-content:center;align-items:flex-start;max-width:100%;min-height:2.5rem;padding-top:.25rem;padding-bottom:.5rem;font-size:1rem;font-weight:600;line-height:1.3;transition:color .3s;display:flex}.stage-label.completed{color:#10b981;text-shadow:2px 2px 4px #000c,0 0 8px #10b98180}.stage-label.current{color:#60a5fa;text-shadow:2px 2px 4px #000c,0 0 10px #3b82f699;font-size:1.1rem;font-weight:700}.stage-label.pending{color:#ffffffd9;text-shadow:2px 2px 4px #000c}.progress-cancelled{text-align:center;background:#ef44441a;border:2px solid #ef44444d;border-radius:1rem;margin:1rem 0;padding:1.5rem}.cancelled-icon{margin-bottom:.5rem;font-size:2rem}.cancelled-text{color:#ef4444;text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem;font-weight:700}.order-details{margin-top:1rem}.dashboard-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a66;border-top:2px solid #f8fafc1a;justify-content:space-between;align-items:center;padding:2rem 3rem;font-size:1.4rem;display:flex;box-shadow:0 -4px 20px #0000001a}.footer-links{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.auto-refresh-indicator,.qr-instruction{opacity:.9;align-items:center;gap:.8rem;display:flex}.rotating-message{text-align:left;min-width:300px;animation:.5s ease-in-out fadeInOut;display:inline-block}@keyframes fadeInOut{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.refresh-icon,.qr-icon,.transparency-icon{font-size:1.6rem}.transparency-qr{align-items:center;gap:1rem;display:flex}.qr-section{background:#fffffff2;border:2px solid #10b981;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex;box-shadow:0 4px 12px #10b9814d}.qr-section:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.qr-label{color:#1e293b;flex-direction:column;gap:.25rem;font-size:1.1rem;font-weight:600;display:flex}.qr-label small{opacity:.7;color:#64748b;font-size:.9rem;font-weight:400}.refresh-icon{animation:2s linear infinite rotate}@media (width<=768px){.dashboard-header{padding:1.5rem 2rem}.header-content{text-align:center;flex-direction:column;gap:1rem}.dashboard-logo{max-width:8rem;height:4rem}.dashboard-header h1{justify-content:center;font-size:2.5rem}.subtitle{font-size:1.5rem}.status-bar{text-align:center;flex-direction:column;gap:1rem;font-size:1.4rem}.dashboard-content{padding:2rem}.items-grid{grid-template-columns:1fr;gap:1.5rem}.item-card{padding:1.5rem}.dashboard-footer{text-align:center;flex-direction:column;gap:1rem;padding:1.5rem 2rem}.instruction-content,.sample-card-container{flex-direction:column}.giant-arrow svg{width:150px;height:150px;transform:rotate(90deg)}.instruction-steps{width:100%}.instructions-title{font-size:2.5rem}.arrow-label{font-size:2rem}}@media (prefers-contrast:high){.item-card{border:3px solid #fff}.item-name,.stock-level .number{text-shadow:2px 2px 4px #000c}}.webhook-detail-page{max-width:1400px;margin:0 auto;padding:1rem}@media (width<=768px){.webhook-detail-page{padding:.5rem}}.webhook-form-page{max-width:1000px;margin:0 auto;padding:1rem}@media (width<=768px){.webhook-form-page{padding:.5rem}}.webhook-list-page{max-width:1400px;margin:0 auto;padding:1rem}@media (width<=768px){.webhook-list-page{padding:.5rem}}.App{min-height:100vh}.workspace-layout{width:100%}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;touch-action:manipulation;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#0000001a;min-width:44px;min-height:44px;padding:.75rem 1rem;font-family:inherit}a{color:#06c;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000001a;touch-action:manipulation;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}a:hover{text-decoration:underline}button:active,a:active{opacity:.8;transform:scale(.98)}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #007bff}input,textarea,select{touch-action:manipulation;min-height:44px;padding:.75rem 1rem;font-size:16px}[role=button],[onClick]{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#0000001a;min-width:44px;min-height:44px}
