:root{--text:#6b6375;--text-h:#08060d;--bg-page:#f6f5f9;--bg:#fff;--bg-raised:#fbfaff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-hover:#9526e6;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--danger:#d1435b;--danger-hover:#b8324a;--danger-bg:#d1435b14;--success:#16a34a;--shadow-sm:0 1px 2px #140a1e0a, 0 1px 3px #140a1e0f;--shadow-md:#140a1e14 0 8px 20px -4px, #140a1e0d 0 3px 6px -2px;--radius:12px;--radius-sm:8px;--transition:.15s ease;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/155% var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#a3a3ae;--text-h:#f3f4f6;--bg-page:#111116;--bg:#1b1c23;--bg-raised:#212230;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-hover:#d3a6fd;--accent-bg:#c084fc26;--accent-border:#c084fc80;--danger:#f87171;--danger-hover:#fb9a9a;--danger-bg:#f871711f;--success:#4ade80;--shadow-sm:0 1px 2px #0000004d, 0 1px 3px #0000004d;--shadow-md:#00000073 0 8px 20px -4px, #0000004d 0 3px 6px -2px}}body{background:var(--bg-page);margin:0}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-.5px;margin:0 0 20px;font-size:26px}h2{letter-spacing:-.2px;margin:0;font-size:17px}h3{font-size:14px}p{margin:0}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-bg);color:var(--text-h)}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:12px 24px;display:flex;position:sticky;top:0}.app-brand{color:var(--text-h);align-items:center;gap:8px;display:flex}.app-brand svg{color:var(--accent)}.app-title{letter-spacing:-.2px;color:var(--text-h);font-size:16px;font-weight:700}.app-nav{flex:1;gap:4px;display:flex}.app-nav a{color:var(--text);transition:background var(--transition), color var(--transition);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.app-nav a:hover{background:var(--bg-raised);color:var(--text-h)}.app-nav a.active{color:var(--accent);background:var(--accent-bg)}.app-nav a svg{flex-shrink:0;width:16px;height:16px}.app-user{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}.app-avatar{background:var(--accent-bg);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.app-user button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.app-user button:hover{background:var(--bg-raised);color:var(--text-h);border-color:var(--text)}.app-main{box-sizing:border-box;flex:1;padding:28px 24px 60px}.login-page{background:radial-gradient(circle at 15% 15%, var(--accent-bg), transparent 45%), radial-gradient(circle at 85% 85%, var(--accent-bg), transparent 45%);flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.login-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);width:340px;max-width:90vw;padding:36px 32px}.login-brand{align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-brand svg{width:26px;height:26px;color:var(--accent)}.login-brand span{letter-spacing:-.3px;color:var(--text-h);font-size:20px;font-weight:700}.login-form{flex-direction:column;gap:14px;display:flex}.login-form label{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.login-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-h);transition:border-color var(--transition), box-shadow var(--transition);padding:10px 12px}.login-form input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.login-form button{border-radius:var(--radius-sm);background:var(--accent);color:#fff;transition:background var(--transition), transform var(--transition);border:none;margin-top:8px;padding:11px;font-weight:600}.login-form button:hover:not(:disabled){background:var(--accent-hover)}.login-form button:active:not(:disabled){transform:scale(.98)}.login-form button:disabled{opacity:.6;cursor:default}.form-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);margin:4px 0;padding:8px 12px;font-size:13px}.page{box-sizing:border-box;width:100%;max-width:980px;margin:0 auto}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:18px 20px}.inline-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inline-form:not(:last-child){margin-bottom:14px}.inline-form input,.inline-form select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-h);transition:border-color var(--transition), box-shadow var(--transition);padding:9px 12px}.inline-form input:focus-visible,.inline-form select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.location-picker label{color:var(--text-h);align-items:center;gap:8px;font-weight:600;display:flex}.inline-form .qty-input{width:70px}.inline-form .unit-input{width:90px}.inline-form button{border-radius:var(--radius-sm);background:var(--accent);color:#fff;transition:background var(--transition), transform var(--transition);border:none;padding:9px 16px;font-weight:600}.inline-form button:hover{background:var(--accent-hover)}.inline-form button:active{transform:scale(.98)}.category-group{border-left:4px solid var(--category-color,var(--accent));padding-left:16px}.category-group h2{align-items:center;gap:8px;display:flex}.category-dot{background:var(--category-color,var(--accent));border-radius:50%;flex-shrink:0;width:9px;height:9px}.location-subgroup{margin-top:16px}.location-subgroup:first-of-type{margin-top:14px}.location-subgroup h3{color:var(--text);align-items:center;gap:6px;margin:0 0 8px;font-weight:600;display:flex}.location-subgroup h3:before{content:"";background:var(--border);border-radius:50%;width:5px;height:5px}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--bg-raised)}.data-table th{color:var(--text);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.qty-cell{align-items:center;gap:10px;display:flex}.qty-cell button,.qty-stepper button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);width:40px;height:40px;color:var(--text-h);transition:background var(--transition), border-color var(--transition), transform var(--transition);font-size:18px;line-height:1}.qty-cell button:hover,.qty-stepper button:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.qty-cell button:active,.qty-stepper button:active{transform:scale(.94)}.qty-stepper{align-items:center;gap:6px;display:flex}.qty-stepper button{flex-shrink:0}.qty-stepper input{text-align:center;width:56px}.qty-cell span{text-align:center;min-width:3em;color:var(--text-h);font-size:15px;font-weight:500}button.danger{border-radius:var(--radius-sm);color:var(--danger);min-height:40px;transition:background var(--transition), color var(--transition);background:0 0;border:1px solid #0000;padding:10px 16px;font-size:14px;font-weight:500}button.danger:hover{background:var(--danger-bg)}.form-message{color:var(--text-h);background:var(--accent-bg);border-radius:var(--radius-sm);margin:4px 0;padding:10px 14px;font-size:14px}.toggle-row{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.toggle-group{background:var(--bg-page);border:1px solid var(--border);border-radius:999px;padding:3px;display:flex}.toggle-group button{color:var(--text);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500}.toggle-group button.active{background:var(--accent);color:#fff}.capture-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-bottom:18px;padding:18px 20px;display:flex}.capture-panel>button{border-radius:var(--radius-sm);background:var(--accent);color:#fff;transition:background var(--transition), transform var(--transition);border:none;align-self:flex-start;padding:10px 18px;font-weight:600}.capture-panel>button:hover{background:var(--accent-hover)}.camera-preview{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.camera-preview video{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;max-width:480px}.camera-preview button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-h);padding:8px 14px}.file-input-label{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;width:fit-content;transition:background var(--transition);align-items:center;padding:12px 20px;font-weight:600;display:inline-flex}.file-input-label:hover{background:var(--accent-hover)}.file-input-label input[type=file]{display:none}.review-list{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-top:20px;padding:18px 20px}.review-list h2{margin-bottom:14px}.review-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.review-row:last-of-type{border-bottom:none}.review-row input,.review-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-h);padding:9px 12px}.review-row select{flex:1;min-width:200px}.review-actions{gap:12px;margin-top:16px;display:flex}.review-actions button{border-radius:var(--radius-sm);background:var(--accent);color:#fff;transition:background var(--transition), transform var(--transition);border:none;padding:10px 18px;font-weight:600}.review-actions button:hover:not(:disabled){background:var(--accent-hover)}.review-actions button:disabled{opacity:.6}.review-actions button:first-child{border:1px solid var(--border);color:var(--text-h);background:0 0}.review-actions button:first-child:hover:not(:disabled){background:var(--bg-raised)}
