:root{--color-primary: hsl(210 100% 45%);--color-primary-hover: hsl(210 100% 38%);--color-primary-foreground: hsl(0 0% 100%);--color-secondary: hsl(196 20% 90%);--color-secondary-hover: hsl(196 20% 85%);--color-accent: hsl(168 71% 40%);--color-background: hsl(210 20% 98%);--color-foreground: hsl(216 28% 15%);--color-card: rgba(255, 255, 255, .85);--color-border: rgba(0, 0, 0, .1);--color-input: rgba(255, 255, 255, .9);--color-muted: hsl(215 20% 92%);--color-muted-foreground: hsl(215 16% 40%);--color-danger: hsl(0 72% 51%);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-glow: 0 0 15px rgb(14 165 233 / .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;border-color:var(--color-border)}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-muted);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted-foreground)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-foreground);padding:16px 20px;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}.app-header h1{margin:0;font-size:18px;letter-spacing:-.01em}.app-body{display:flex;flex:1}.app-main{flex:1;padding:24px 20px 100px;max-width:700px;width:100%;margin:0 auto}.nav-bar{display:flex;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);position:fixed;bottom:0;left:0;right:0;z-index:10}.nav-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;text-decoration:none;color:var(--color-muted-foreground);font-size:11px;transition:color var(--transition-fast)}.nav-icon{font-size:22px;margin-bottom:2px}.nav-link:hover{color:var(--color-foreground)}.nav-link.active{color:var(--color-primary);font-weight:600;text-shadow:0 0 10px rgba(14,165,233,.3)}@media (min-width: 860px){.app-body{flex-direction:row}.nav-bar{position:static;flex-direction:column;width:220px;border-top:none;border-right:1px solid var(--color-border);padding-top:24px;gap:8px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-link{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 24px;font-size:14px}.app-main{padding-bottom:30px;margin:0;max-width:760px}}button{font-family:var(--font-sans);font-size:15px;font-weight:500;padding:12px 18px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-foreground);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button.secondary{background:var(--color-secondary);border:1px solid var(--color-border);color:var(--color-foreground)}button.secondary:hover:not(:disabled){background:var(--color-secondary-hover);box-shadow:none}button.danger{background:var(--color-danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select{width:100%;padding:12px 14px;font-size:15px;font-family:var(--font-sans);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;background:var(--color-input);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0ea5e933}input::placeholder{color:var(--color-muted-foreground)}select option{background:var(--color-background);color:var(--color-foreground)}.inline-form{display:flex;gap:8px}.inline-form input{margin-bottom:0}.or-divider{text-align:center;color:var(--color-muted-foreground);margin:16px 0 12px;font-size:13px}.result-item{background:var(--color-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:8px;border:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;transition:all var(--transition-fast)}.result-item:hover{border-color:#ffffff40;transform:translateY(-1px)}.result-item button{flex-shrink:0;padding:8px 12px;font-size:13px}.card{background:var(--color-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:20px}.card h2,.card h3{margin-top:0;color:var(--color-foreground);letter-spacing:-.01em}.tag{display:inline-block;background:rgba(14,165,233,.15);color:var(--color-primary);padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;margin-right:8px;margin-bottom:8px;border:1px solid rgba(14,165,233,.2)}.tags-row{margin-bottom:12px}.loc-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border);font-size:14px}.loc-row:last-child{border-bottom:none}.loc-row.active{font-weight:600;color:var(--color-primary)}.big-qty{font-size:24px;font-weight:600;margin:12px 0;color:var(--color-foreground)}.qty-controls{display:flex;gap:12px;align-items:center;margin:16px 0}.qty-controls input{width:100px;margin-bottom:0}.qty-controls .btns{flex:1;display:flex;gap:8px;flex-wrap:wrap}.qty-controls .btns button{margin-bottom:0}.field-label{display:block;font-size:13px;color:var(--color-muted-foreground);margin:12px 0 6px;font-weight:500}.hint{font-size:13px;color:var(--color-muted-foreground);line-height:1.4}.error-text{color:var(--color-danger);font-size:14px;font-weight:500;margin-top:8px}.code-block{display:block;background:var(--color-muted);padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:13px;font-family:monospace;margin:12px 0 16px;word-break:break-word;color:var(--color-foreground)}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;z-index:50;box-shadow:var(--shadow-lg);animation:fadeUp .3s ease-out}@media (min-width: 860px){.toast{bottom:30px}}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.scanner-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.scanner-card{position:relative;width:100%;max-width:320px;overflow:hidden;border:2px dashed rgba(14,165,233,.4);background:rgba(0,0,0,.05);border-radius:var(--radius-lg);min-height:280px}.scanner-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;background:rgba(255,255,255,.9);color:var(--color-muted-foreground);text-align:center}.scanner-placeholder p{font-size:14px;margin:0}.scanner-placeholder strong{color:var(--color-foreground)}.scanner-icon{width:64px;height:64px;stroke:#0ea5e966}.btn-lg{padding:14px 24px;font-size:16px;display:flex;align-items:center;gap:8px}.scanner-indicator{position:absolute;top:0;left:0;right:0;height:2px;z-index:10}.scanner-indicator-bar{height:100%;width:33%;background:var(--color-primary);border-radius:999px;animation:scan 2s ease-in-out infinite}@keyframes scan{0%,to{transform:translate(0)}50%{transform:translate(200%)}}
