@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#f7f8fa;--surface:#fff;--surface2:#f2f3f6;--border:#e8eaed;--border2:#d1d5db;--text:#0f1117;--text-muted:#6b7280;--text-dim:#b0b7c3;--accent:#111827;--accent2:#374151;--danger:#ef4444;--warn:#f59e0b;--ok:#10b981;--font-ui:"Plus Jakarta Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:12px;--shadow:0 1px 3px #0000000f, 0 4px 16px #0000000a;--shadow-lg:0 8px 32px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:50;justify-content:space-between;align-items:center;padding:18px 40px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:14px;display:flex}.logo-mark{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.header-title{letter-spacing:-.03em;color:var(--text);font-size:18px;font-weight:800}.header-sub{font-family:var(--font-mono);color:var(--text-muted);margin-top:2px;font-size:11px}.status-pill{font-family:var(--font-mono);color:var(--ok);letter-spacing:.04em;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:100px;align-items:center;gap:7px;padding:6px 14px;font-size:11px;font-weight:500;display:flex}.status-dot{background:var(--ok);border-radius:50%;width:6px;height:6px;animation:2.5s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.summary-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:stretch;padding:0 40px;display:flex}.summary-item{align-items:baseline;gap:10px;padding:16px 32px 16px 0;display:flex}.summary-num{color:var(--text);letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1}.summary-num.danger{color:var(--danger)}.summary-num.warn{color:var(--warn)}.summary-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;font-size:10px;font-weight:500}.summary-divider{background:var(--border);width:1px;margin:12px 32px 12px 0}.main-content{flex:1;padding:32px 40px}.state-container{color:var(--text-muted);font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;font-size:14px;display:flex}.state-container.error{color:var(--danger)}.error-icon,.ok-icon{font-size:36px;line-height:1}.ok-icon{color:var(--ok)}.error-detail{opacity:.7;font-size:12px}.error-hint{color:var(--text-dim);margin-top:4px;font-size:11px}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:8px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}.inventory-table{border-collapse:collapse;width:100%;font-size:13px}.inventory-table thead tr{border-bottom:1px solid var(--border);background:var(--surface2)}.inventory-table th{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);text-align:left;white-space:nowrap;padding:12px 20px;font-size:10px;font-weight:600}.inventory-table tbody tr{border-bottom:1px solid var(--border);transition:background .12s;animation:.3s both row-in}@keyframes row-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.inventory-table tbody tr:last-child{border-bottom:none}.inventory-table tbody tr:hover{background:#f9fafb}.inventory-table td{vertical-align:middle;padding:15px 20px}.row-critical{border-left:3px solid var(--danger)}.row-warn{border-left:3px solid var(--warn)}.sku-cell{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:11px}.name-cell{color:var(--text);white-space:nowrap;letter-spacing:-.01em;font-weight:600}.supplier-cell{color:var(--text-muted);font-size:12px}.stock-cell{font-family:var(--font-mono);font-size:14px;font-weight:600}.danger{color:var(--danger)}.warn{color:var(--warn)}.ok{color:var(--ok)}.category-tag{background:var(--surface2);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:10px}.stock-bar-track{background:var(--border);border-radius:3px;width:100px;height:5px;overflow:hidden}.stock-bar-fill{border-radius:3px;height:100%;transition:width .6s}.evaluate-btn{background:var(--accent);color:#fff;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.evaluate-btn:hover:not(:disabled){background:#1f2937}.evaluate-btn:active:not(:disabled){transform:scale(.97)}.evaluate-btn.loading{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border);cursor:not-allowed}.thinking-dots{align-items:center;gap:3px;display:inline-flex}.thinking-dots span{background:var(--text-muted);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite dot-bounce;display:inline-block}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0000004d;justify-content:center;align-items:center;padding:20px;animation:.2s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:520px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:16px;padding:32px;animation:.25s cubic-bezier(.34,1.56,.64,1) modal-in;position:relative;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.94)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--border);color:var(--text)}.modal-header{margin-bottom:24px}.modal-tag{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:500}.modal-header h2{color:var(--text);letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:800}.modal-sku{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.modal-quantity-block{background:var(--surface2);border:1px solid var(--border);border-radius:10px;align-items:baseline;gap:10px;margin-bottom:24px;padding:20px 24px;display:flex}.quantity-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;flex:1;font-size:10px;font-weight:500}.quantity-value{color:var(--text);letter-spacing:-.04em;font-size:48px;font-weight:800;line-height:1}.quantity-unit{font-family:var(--font-mono);color:var(--text-muted);align-self:flex-end;padding-bottom:6px;font-size:13px}.modal-reasoning{margin-bottom:24px}.reasoning-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:10px;font-weight:500;display:flex}.reasoning-icon{color:var(--accent)}.reasoning-text{background:var(--surface2);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);white-space:pre-wrap;border-radius:8px;max-height:200px;padding:16px;font-size:12px;line-height:1.7;overflow-y:auto}.modal-actions{gap:10px;display:flex}.btn-approve,.btn-reject{font-family:var(--font-ui);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:10px;flex:1;padding:13px;font-size:14px;font-weight:700;transition:opacity .15s,transform .1s}.btn-approve:active,.btn-reject:active{transform:scale(.98)}.btn-approve{background:var(--accent);color:#fff}.btn-approve:hover{opacity:.85}.btn-reject{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.btn-reject:hover{color:var(--danger);background:#fef2f2;border-color:#fca5a5}.decision-banner{text-align:center;font-family:var(--font-mono);border-radius:10px;padding:14px;font-size:13px;font-weight:500}.decision-banner.approved{color:var(--ok);background:#f0fdf4;border:1px solid #bbf7d0}.decision-banner.rejected{color:var(--danger);background:#fef2f2;border:1px solid #fca5a5}.toast-container{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{font-family:var(--font-mono);border:1px solid var(--border);max-width:340px;box-shadow:var(--shadow);background:var(--surface);border-radius:10px;padding:12px 18px;font-size:12px;animation:.3s cubic-bezier(.34,1.56,.64,1) toast-in}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-success{color:var(--ok);background:#f0fdf4;border-color:#bbf7d0}.toast-error{color:var(--danger);background:#fef2f2;border-color:#fca5a5}.toast-neutral{background:var(--surface2);color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}
