.commodity-classification{max-width:100%;margin:0}.legal-disclaimer{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.legal-disclaimer p{color:#92400e;margin:0;font-weight:500}.clarification-needed{background:#fee2e2;border:1px solid #ef4444;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.clarification-needed h4{color:#dc2626;margin:0 0 .5rem}.clarification-prompt{margin-top:1rem}.clarification-prompt ul{margin:.5rem 0 0 1.5rem}.item-extraction{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.item-extraction h4{color:#0369a1;margin:0 0 .75rem}.item-details p{margin:.5rem 0}.item-details ul{margin:.5rem 0 0 1.5rem}.category-results h4{color:#1f2937;margin:0 0 1rem}.identified-categories{background:#f3f4f6;border-radius:6px;margin-bottom:1rem;padding:.75rem}.identified-categories p{margin:0;font-weight:500}.category-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem;box-shadow:0 1px 3px #0000001a}.category-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.category-header h5{color:#1f2937;margin:0;font-size:1.1rem}.confidence{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.confidence-high{color:#166534;background:#dcfce7}.confidence-medium{color:#92400e;background:#fef3c7}.confidence-low{color:#dc2626;background:#fee2e2}.category-content p{margin:.5rem 0}.category-content strong{color:#374151}.eccns{margin:.75rem 0}.eccn-pills{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.eccn-pill{color:#fff;background:#3b82f6;border-radius:16px;padding:.25rem .75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;font-weight:500}.analysis{margin-top:1rem}.analysis-content{background:#f9fafb;border-left:3px solid #3b82f6;border-radius:6px;margin-top:.5rem;padding:.75rem}.analysis-content p{margin:0;line-height:1.6}.next-steps{background:#f0fdf4;border:1px solid #22c55e;border-radius:8px;margin:1.5rem 0;padding:1rem}.next-steps h4{color:#166534;margin:0 0 .75rem}.next-steps ol{margin:0 0 0 1.5rem}.next-steps li{margin:.5rem 0;line-height:1.6}.resources{background:#faf5ff;border:1px solid #9333ea;border-radius:8px;margin-top:1.5rem;padding:1rem}.resources h4{color:#7c3aed;margin:0 0 .75rem}.resources ul{margin:0 0 0 1.5rem}.resources li{margin:.5rem 0}.resources a{color:#7c3aed;text-decoration:none}.resources a:hover{text-decoration:underline}@media (width<=768px){.category-header{flex-direction:column;align-items:flex-start;gap:.5rem}.eccn-pills{flex-direction:column}.eccn-pill{text-align:center}}@media (prefers-color-scheme:dark){.legal-disclaimer{color:#fef3c7;background:#451a03;border-color:#f59e0b}.clarification-needed{color:#fecaca;background:#7f1d1d;border-color:#ef4444}.item-extraction{color:#dbeafe;background:#1e3a8a;border-color:#0ea5e9}.identified-categories{color:#f9fafb;background:#374151}.category-card{color:#f9fafb;background:#1f2937;border-color:#4b5563}.category-header{border-bottom-color:#4b5563}.analysis-content{background:#374151;border-left-color:#3b82f6}.next-steps{color:#dcfce7;background:#14532d;border-color:#22c55e}.resources{color:#f3e8ff;background:#581c87;border-color:#9333ea}.resources a{color:#c084fc}}.chat-interface{flex-direction:column;max-width:980px;min-height:calc(100vh - 56px);margin:0 auto;display:flex}.chat-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.chat-header h2{color:var(--text);margin:0;font-size:20px;font-weight:650}.new-chat-button{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 12px;font-size:13px;font-weight:600}.chat-messages{scroll-behavior:smooth;flex:1;padding:4px 0 130px;overflow-y:auto}.welcome-message{border:1px solid var(--border);background:var(--bg-panel);max-width:720px;color:var(--text-dim);border-radius:10px;margin:34px auto 0;padding:28px}.welcome-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.welcome-message h3{color:var(--text);margin:0 0 10px;font-size:18px}.welcome-message p{margin:0}.welcome-message ul{margin:18px 0 0;padding-left:20px}.welcome-message li{color:var(--text);margin:7px 0}.message{flex-direction:column;width:100%;margin:0 0 18px;display:flex}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message.system{align-items:center}.message-content{align-items:flex-start;gap:10px;width:100%;max-width:860px;display:flex}.message.user .message-content{flex-direction:row-reverse;width:min(760px,88%)}.message.system .message-content{width:auto;max-width:720px}.message-avatar{border:1px solid var(--border);background:var(--bg-elevated);width:30px;height:30px;color:var(--text-dim);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.message-bubble{color:var(--text);background:0 0;border-radius:10px;flex:1;padding:2px 0}.message.user .message-bubble{background:var(--bg-elevated);border:1px solid var(--border);padding:12px 14px}.message.system .message-bubble{color:#6f5316;background:#fff8e6;border:1px solid #efd89d;padding:10px 12px}.user-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.message-type{color:var(--text-dim);margin-top:7px;font-size:11px;display:block}.system-message{font-size:12px}.assistant-message,.assistant-response{width:100%;min-width:0}.plain-text-response{overflow-wrap:anywhere;line-height:1.65}.plain-text-response p{margin:0 0 12px}.plain-text-response p:last-child{margin-bottom:0}.clarification-hint{border-left:3px solid var(--accent);color:#294f8c;background:#eef4ff;border-radius:5px;margin-top:12px;padding:9px 11px}.message-time{color:var(--text-dim);margin-top:5px;font-size:10px}.message.user .message-time{margin-right:40px}.typing-indicator{gap:4px;padding:8px 0;display:flex}.typing-indicator span{background:var(--text-dim);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.45;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-form{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:12px;margin-top:auto;padding:10px;position:sticky;bottom:16px;box-shadow:0 10px 34px #0f172a1f}.input-row{grid-template-columns:210px minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.question-type-select,.message-input{border:1px solid var(--border);background:var(--bg-elevated);min-width:0;color:var(--text);border-radius:7px;padding:10px 11px;font-size:13px}.message-input{background:#fff}.question-type-select:focus,.message-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #4f7cff1f}.question-type-select:disabled,.message-input:disabled{opacity:.6;cursor:not-allowed}.send-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:7px;min-width:76px;padding:10px 14px;font-size:13px;font-weight:650}.send-button:hover:not(:disabled){filter:brightness(1.06)}.send-button:disabled{opacity:.5;cursor:not-allowed}.input-footer{color:var(--text-dim);margin-top:7px;padding:0 2px;font-size:11px}.char-warning{color:#b42318;font-weight:600}@media (width<=820px){.chat-interface{min-height:0}.chat-messages{padding-bottom:150px}.message.user .message-content{width:94%}.input-row{grid-template-columns:1fr}.send-button{width:100%}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;margin:0;padding:0;overflow-x:hidden}body{color:#1a1a1a;background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;background:#fff;border-bottom:2px solid #e5e7eb;padding:0;transition:all .3s;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.app-shell.menu-collapsed .app-header{box-shadow:none;border-bottom:none}.app-header .header-content{justify-content:space-between;align-items:center;gap:2rem;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex}.app-header h1{cursor:pointer;transition:opacity .2s}.app-header h1:hover{opacity:.8}.app-header a h1{color:#111827;margin:0;font-size:1.5rem;font-weight:600}.nav-tabs{gap:.5rem;display:flex}.nav-tabs a{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.nav-tabs a:hover{color:#111827;background:#f3f4f6}.nav-tabs a.active{color:#fff;background:#2563eb}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.app-main:has(.questions-layout){width:100%;max-width:100%;padding:.5rem}.app-main:has(.overlay-page){width:100%;max-width:100%;padding:.5rem}.app-main .questions-layout{width:100%;max-width:none;margin:0;padding:0}.app-main .questions-layout .card{margin-bottom:1rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.card h2{color:#111827;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.card h3{color:#111827;margin:1rem 0 .5rem;font-size:1.1rem;font-weight:600}.card h4{color:#374151;margin:1rem 0 .5rem;font-size:1rem;font-weight:600}.card h5{color:#4b5563;margin:.75rem 0 .5rem;font-size:.9rem;font-weight:600}.help-text{color:#6b7280;margin:0 0 1rem;font-size:.9rem}.form{flex-direction:column;gap:1rem;display:flex}label{color:#374151;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}input[type=text],input[type=password],textarea,select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}input[type=text]:focus,input[type=password]:focus,textarea:focus,select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}textarea{resize:vertical;min-height:120px}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.375rem;align-self:flex-start;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;transition:background-color .2s}button[disabled]{opacity:.6;cursor:not-allowed}.alert{border-radius:.375rem;margin:1rem 0;padding:.75rem 1rem;font-size:.9rem}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.result-card{margin-top:1.5rem}.answer-block{white-space:pre-wrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;font-size:.9rem;overflow-x:auto}.meta{color:#6b7280;margin-bottom:1rem;font-size:.85rem}.muted{color:#9ca3af;font-size:.9rem}.small{font-size:.85rem}.layout-two-column{grid-template-columns:25% 75%;gap:1.5rem;display:grid}.questions-layout.viewing-agents{grid-template-columns:1fr}.questions-layout .questions-list,.questions-layout .details-pane{min-width:0}.details-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.details-header h2{margin:0}.cancel-button{padding:.4rem .9rem;font-size:.85rem;background:#6b7280!important}.cancel-button:hover{background:#4b5563!important}@media (width<=900px){.layout-two-column{grid-template-columns:1fr}.app-main{padding:1rem}.app-header .header-content{flex-direction:column;align-items:flex-start;padding:1rem}}.list{max-height:500px;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.list li{margin-bottom:.25rem}.list .link{text-align:left;color:#374151;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;transition:all .2s;display:flex}.list .link:hover{background:#f9fafb;border-color:#d1d5db}.list .link.active{color:#1e40af;background:#eff6ff;border-color:#2563eb}.question-item.status-completed{background:#d1fae5;border-color:#10b981}.question-item.status-completed:hover{background:#a7f3d0}.question-item.status-completed.active{background:#6ee7b7;border-color:#059669}.question-item.status-running{background:#fef3c7;border-color:#f59e0b}.question-item.status-running:hover{background:#fde68a}.question-item.status-running.active{background:#fcd34d;border-color:#d97706}.question-item.status-pending{background:#dbeafe;border-color:#3b82f6}.question-item.status-pending:hover{background:#bfdbfe}.question-item.status-pending.active{background:#93c5fd;border-color:#2563eb}.question-item.status-needs_clarification{background:#fee2e2;border-color:#ef4444}.question-item.status-needs_clarification:hover{background:#fecaca}.question-item.status-needs_clarification.active{background:#fca5a5;border-color:#dc2626}.questions-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.questions-header h2{margin:0}.question-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.question-header h2{margin:0}.new-chat-button{padding:.4rem .9rem;font-size:.85rem;background:#6b7280!important}.new-chat-button:hover{background:#4b5563!important}.type-filter{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.4rem .75rem;font-family:inherit;font-size:.9rem}.list-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.badge{color:#374151;background:#f3f4f6;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.status{text-transform:uppercase;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.status-completed{color:#065f46;background:#d1fae5}.status-running{color:#92400e;background:#fef3c7}.status-pending{color:#1e40af;background:#dbeafe}.agent-toolbar{border-top:1px solid #e5e7eb;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.agent-runs{margin-top:1rem}.agent-run{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;margin-bottom:1rem;padding:1rem}.agent-run summary{cursor:pointer;color:#111827;border-radius:.25rem;padding:.5rem;font-weight:600}.agent-run summary:hover{background:#f3f4f6}.agent-run[open] summary{margin-bottom:.75rem}.agent-configs{grid-template-columns:1fr;gap:1.5rem;margin-top:1rem;display:grid}.agent-config{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem}.agent-config label{color:#111827;font-weight:600}.agent-config textarea{width:100%;min-height:150px;margin-top:.5rem}.admin-tabs{border-bottom:2px solid #e5e7eb;gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-tabs button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500}.admin-tabs button:hover{color:#111827}.vector-stats{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.vector-stats h3{color:#111827;margin-top:0;font-size:1rem}.vector-stats p{color:#374151;margin:.5rem 0}.upload-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:2rem;padding:1.5rem}.upload-section h3{margin-top:0}.ingestion-jobs{margin-top:2rem}.jobs-table{border-collapse:collapse;width:100%;margin-top:1rem}.jobs-table th,.jobs-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem}.jobs-table th{color:#111827;background:#f9fafb;font-weight:600}.jobs-table td{color:#374151}.status-badge{border-radius:.375rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-block}.status-badge.status-completed{color:#065f46;background:#d1fae5}.status-badge.status-processing,.status-badge.status-embedding{color:#1e40af;background:#dbeafe}.status-badge.status-failed{color:#991b1b;background:#fee2e2}.status-badge.status-pending{color:#4b5563;background:#f3f4f6}.crawler-section{flex-direction:column;gap:2rem;display:flex}.crawl-stats{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;display:grid}.crawl-stats p{color:#374151;margin:0}.crawl-controls{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.crawl-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.375rem;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600}.crawl-button:hover:not(:disabled){background:#1d4ed8}.crawl-button:disabled{cursor:not-allowed;background:#9ca3af}.crawl-jobs{margin-top:1rem}.jobs-table .url-cell{text-overflow:ellipsis;white-space:nowrap;max-width:400px;overflow:hidden}.crawled-pages-section{margin-top:2rem}.pages-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.pages-header h3{margin:0}.pages-filter{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem 1rem;font-size:.9rem}.pages-table-container{border:1px solid #e5e7eb;border-radius:.5rem;max-height:600px;overflow:auto}.pages-table{border-collapse:collapse;width:100%;font-size:.9rem}.pages-table th,.pages-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem}.pages-table th{color:#111827;z-index:10;background:#f9fafb;font-weight:600;position:sticky;top:0}.pages-table td{color:#374151}.pages-table .title-cell{max-width:250px;font-weight:500}.pages-table .url-cell{text-overflow:ellipsis;white-space:nowrap;max-width:400px;overflow:hidden}.pages-table .url-cell a{color:#2563eb;text-decoration:none}.pages-table .url-cell a:hover{text-decoration:underline}.pages-table tr:hover{background:#f9fafb}.error-tooltip{cursor:help;color:#dc2626;margin-left:.5rem;display:inline-block}.json-formatter{margin:.5rem 0}.json-raw{white-space:pre-wrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;overflow-x:auto}.json-object{border-left:2px solid #e5e7eb;margin:.5rem 0;padding-left:1rem}.json-object dt{color:#111827;margin-top:.5rem;margin-bottom:.25rem;font-weight:600}.json-object dd{margin-bottom:.5rem;margin-left:1rem}.json-array{border-left:2px solid #e5e7eb;margin:.5rem 0;padding-left:1rem;list-style:none}.json-array li{margin:.25rem 0;padding-left:.5rem}.json-key{color:#7c3aed;font-weight:600}.json-string{color:#059669}.json-string-block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;margin:.5rem 0;padding:.75rem}.json-string-block pre{white-space:pre-wrap;word-wrap:break-word;color:#374151;margin:0;font-size:.85rem}.json-primitive{color:#dc2626}.json-null,.json-empty{color:#9ca3af;font-style:italic}.json-markdown{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;margin:.5rem 0;padding:1rem}.json-markdown table{border-collapse:collapse;width:100%;margin:1rem 0}.json-markdown table th,.json-markdown table td{text-align:left;border:1px solid #e5e7eb;padding:.5rem}.json-markdown table th{background:#f9fafb;font-weight:600}.json-markdown ul,.json-markdown ol{margin:.5rem 0;padding-left:1.5rem}.json-markdown p{margin:.5rem 0}.json-markdown strong{color:#111827;font-weight:600}.advisor-response{margin-top:1rem}.advisor-response h3{color:#111827;border-bottom:2px solid #e5e7eb;margin:1.5rem 0 .75rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.advisor-response h3:first-child{margin-top:0}.clarity-section,.summary-section,.analysis-section,.recommendations-section,.next-steps-section{margin-bottom:1.5rem}.markdown-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:.75rem;padding:1.5rem}.detailed-analysis-content{margin-top:.75rem}.markdown-content table{border-collapse:collapse;background:#fff;width:100%;margin:1.5rem 0;font-size:.9rem}.markdown-content table th,.markdown-content table td{text-align:left;border:1px solid #d1d5db;padding:.75rem 1rem}.markdown-content table th{color:#111827;background:#f3f4f6;font-weight:600}.markdown-content table td{background:#fff}.markdown-content ul,.markdown-content ol{margin:1rem 0;padding-left:2rem;line-height:1.8}.markdown-content li{margin:.5rem 0}.markdown-content p{color:#374151;margin:1rem 0;line-height:1.7}.markdown-content h2{color:#111827;border-bottom:2px solid #e5e7eb;margin:2rem 0 1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.markdown-content h2:first-child{margin-top:0}.markdown-content h3{color:#111827;margin:1.5rem 0 .75rem;font-size:1.1rem;font-weight:600}.markdown-content h4{color:#374151;margin:1.25rem 0 .5rem;font-size:1rem;font-weight:600}.markdown-content strong{color:#111827;font-weight:600}.classification-section,.licensing-section,.sanctions-section,.diversion-section,.policy-section,.checklist-section{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:.5rem;margin:2rem 0;padding:1.5rem}.classification-section h4,.licensing-section h4,.sanctions-section h4,.diversion-section h4,.policy-section h4,.checklist-section h4{color:#111827;border-bottom:1px solid #e5e7eb;margin-top:0;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:600}.sanctions-content{flex-direction:column;gap:1rem;display:flex}.sanctions-item{color:#374151;padding:.75rem 0;line-height:1.7}.sanctions-item strong{color:#111827;min-width:180px;margin-right:.5rem;font-weight:600;display:inline-block}.red-flags-list{margin:.75rem 0 .5rem;padding-left:1.5rem;list-style-type:disc}.red-flags-list li{color:#dc2626;margin:.5rem 0;line-height:1.6}.policy-content{flex-direction:column;gap:1rem;display:flex}.policy-item{color:#374151;padding:.75rem 0;line-height:1.7}.policy-item strong{color:#111827;min-width:200px;margin-right:.5rem;font-weight:600;display:inline-block}.policy-caveat{background:#fef3c7;border-left:3px solid #f59e0b;border-radius:.25rem;margin-top:.5rem;padding:1rem}.checklist-list{margin:1rem 0;padding-left:2rem;line-height:1.8}.checklist-list li{color:#374151;margin:.75rem 0;padding-left:.5rem}.classification-section table,.licensing-section table,.diversion-section table{margin-top:1rem;margin-bottom:0}.additional-analysis{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin:2rem 0;padding:1.5rem}.additional-analysis h4{color:#111827;border-bottom:1px solid #e5e7eb;margin-top:0;margin-bottom:1rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:600}.markdown-content blockquote{color:#4b5563;border-left:4px solid #2563eb;margin:1rem 0;padding-left:1rem;font-style:italic}.markdown-content code{color:#dc2626;background:#f3f4f6;border-radius:.25rem;padding:.2rem .4rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em}.markdown-content hr{border:none;border-top:1px solid #e5e7eb;margin:2rem 0}.structured-analysis{flex-direction:column;gap:2rem;display:flex}.analysis-subsection{margin-bottom:1.5rem}.analysis-subsection h4{color:#111827;border-bottom:2px solid #e5e7eb;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.analysis-table{border-collapse:collapse;background:#fff;width:100%;margin:1rem 0;font-size:.9rem}.analysis-table th,.analysis-table td{text-align:left;vertical-align:top;border:1px solid #d1d5db;padding:.75rem 1rem}.analysis-table th{color:#111827;background:#f3f4f6;width:20%;font-weight:600}.analysis-table td{background:#fff;width:40%}.analysis-table td.source-cell{color:#6b7280;width:20%;font-size:.85rem;font-style:italic}.analysis-table tbody tr:hover{background:#f9fafb}.analysis-subsection ol,.analysis-subsection ul{margin:1rem 0;padding-left:2rem;line-height:1.8}.analysis-subsection li{color:#374151;margin:.5rem 0}.analysis-subsection p{color:#374151;margin:.75rem 0;line-height:1.7}.analysis-subsection strong{color:#111827;font-weight:600}.search-page{max-width:1000px;margin:0 auto}.search-form{margin:2rem 0}.search-input-group{gap:.75rem;margin-bottom:1rem;display:flex}.search-input{border:2px solid #d1d5db;border-radius:.5rem;flex:1;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.search-input:disabled{cursor:not-allowed;background-color:#f3f4f6}.search-button{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background-color .2s}.search-button:hover:not(:disabled){background-color:#1d4ed8}.search-button:disabled{cursor:not-allowed;background-color:#9ca3af}.search-results{margin-top:2rem}.search-results h3{color:#1f2937;margin-bottom:1.5rem;font-size:1.25rem}.results-list{flex-direction:column;gap:1.5rem;display:flex}.result-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:box-shadow .2s}.result-item:hover{box-shadow:0 2px 8px #0000001a}.result-header{margin-bottom:1rem}.result-meta{color:#6b7280;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.875rem;display:flex}.result-source{color:#374151;text-transform:capitalize;font-weight:600}.result-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.result-title-link{color:#1f2937;flex:1;min-width:200px;font-size:1.1rem;font-weight:600;text-decoration:none}.result-title-link:hover{color:#2563eb;text-decoration:underline}.result-title{color:#1f2937;font-weight:500}.result-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.result-link{color:#2563eb;border-radius:.375rem;padding:.375rem .75rem;font-weight:500;text-decoration:none;transition:all .2s}.result-link:hover{text-decoration:underline}.result-link.primary{color:#fff;background-color:#2563eb;border:1px solid #2563eb}.result-link.primary:hover{background-color:#1d4ed8;border-color:#1d4ed8;text-decoration:none}.result-score{color:#1e40af;background-color:#dbeafe;border-radius:9999px;margin-left:auto;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.result-text{color:#374151;white-space:pre-wrap;word-wrap:break-word;line-height:1.7}.result-eccn{color:#059669;background-color:#d1fae5;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.result-source.ccl-item{color:#1e40af;background-color:#dbeafe;border-radius:.25rem;padding:.25rem .75rem}.result-source.fed-reg{color:#92400e;background-color:#fef3c7;border-radius:.25rem;padding:.25rem .75rem;font-weight:600}.search-facets-sidebar{position:sticky;top:1rem}.search-facets-sidebar label{-webkit-user-select:none;user-select:none}.search-facets-sidebar label:hover{color:#111827}.search-facets-sidebar input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:1rem;height:1rem}.result-link.external{color:#6b7280;font-size:.875rem}.page-view{max-width:1200px;margin:0 auto}.page-header{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.back-link{color:#2563eb;margin-bottom:1rem;font-weight:500;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.page-view h1{color:#111827;margin:.5rem 0 1rem;font-size:2rem}.page-meta{color:#6b7280;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;display:flex}.page-meta span{align-items:center;gap:.5rem;display:flex}.page-meta strong{color:#374151;font-weight:600}.page-meta a{color:#2563eb;text-decoration:none}.page-meta a:hover{text-decoration:underline}.page-content{margin-top:2rem}.content-text{color:#374151;word-wrap:break-word;max-width:100%;line-height:1.8}.content-text p,.content-paragraph{text-align:justify;margin:1rem 0;line-height:1.8}.content-text p:first-child,.content-paragraph:first-child{margin-top:0}.content-eccn-header{color:#1e40af;border-bottom:2px solid #3b82f6;margin:2.5rem 0 1rem;padding:.75rem 0;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700}.content-eccn-header:first-child{margin-top:0}.content-section-header{color:#111827;border-bottom:2px solid #e5e7eb;margin:2rem 0 1rem;padding:.75rem 0;font-size:1.25rem;font-weight:700}.content-subsection-header{color:#1f2937;border-bottom:1px solid #e5e7eb;margin:1.5rem 0 .75rem;padding:.5rem 0;font-size:1.1rem;font-weight:600}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.progress-modal{padding:0}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;display:flex}.modal-close:hover{color:#374151;background:#f3f4f6}.modal-body{padding:1.5rem}.progress-message{margin-bottom:1.5rem}.progress-message p{color:#374151;margin:0;font-size:1rem}.progress-steps{margin-bottom:1.5rem}.progress-step{border-radius:6px;align-items:center;margin-bottom:1rem;padding:.75rem;transition:all .3s;display:flex}.step-completed{background:#f0fdf4;border:1px solid #bbf7d0}.step-active{background:#eff6ff;border:1px solid #bfdbfe}.step-pending{background:#f9fafb;border:1px solid #e5e7eb}.step-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-right:1rem;font-weight:600;display:flex}.step-completed .step-icon{color:#fff;background:#22c55e}.step-active .step-icon{color:#fff;background:#3b82f6;animation:1s linear infinite spin}.step-pending .step-icon{color:#6b7280;background:#e5e7eb}.step-label{font-size:.95rem;font-weight:500}.step-completed .step-label{color:#166534}.step-active .step-label{color:#1e40af}.step-pending .step-label{color:#6b7280}.thinking-indicator{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1rem}.thinking-dots{justify-content:center;gap:.25rem;margin-bottom:.75rem;display:flex}.thinking-dots span{background:#3b82f6;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both thinking}.thinking-dots span:first-child{animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-dots span:nth-child(3){animation-delay:0}.thinking-indicator p{color:#64748b;margin:0;font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes thinking{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}:root{--bg:#f5f7fa;--bg-panel:#fff;--bg-elevated:#eef2f6;--border:#d8dee8;--text:#17202a;--text-dim:#667085;--accent:#335f9e;--accent-strong:#244a7f;--sidebar:#111827;--sidebar-border:#273244}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}.app-shell{background:var(--bg);flex-direction:row;min-height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--sidebar-border);flex-direction:column;flex:0 0 224px;align-self:flex-start;gap:3px;width:224px;height:100vh;min-height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{color:#f8fafc;letter-spacing:.2px;padding:4px 10px 18px;font-size:15px;font-weight:700;text-decoration:none;display:block}.sidebar .brand span{color:#8fb4ff;font-weight:650}.sidebar-section-label{color:#7f8ba0;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px 7px;font-size:10px;font-weight:700}.sidebar .nav-item{color:#aeb8c7;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:550;text-decoration:none;display:block}.sidebar .nav-item:hover{color:#fff;background:#1c2533;text-decoration:none}.sidebar .nav-item.active{color:#fff;background:#263d63}.sidebar-spacer{flex:1}.sidebar-note{color:#7f8ba0;border-top:1px solid #2a3547;margin:10px;padding-top:12px;font-size:11px;line-height:1.45}.sidebar-signout{color:#cbd5e1;background:0 0;border:1px solid #344054;border-radius:6px;align-self:stretch;width:calc(100% - 20px);margin:2px 10px 0;padding:7px 10px;font-size:12px}.sidebar-signout:hover:not(:disabled){color:#fff;background:#1f2937}.app-main{flex:1;width:calc(100% - 224px);min-width:0;max-width:1400px;margin:0 auto;padding:28px 32px}.app-main-auth{width:100%;max-width:none;padding:0}.app-loading{text-align:center;background:var(--bg);place-content:center;gap:6px;min-height:100vh;display:grid}.app-loading-mark{color:var(--text);font-weight:700}.card,.vector-stats,.upload-section,.crawl-stats,.crawl-controls,.agent-config,.agent-run{background:var(--bg-panel);border:1px solid var(--border);box-shadow:none;border-radius:8px}.card{margin-bottom:16px;padding:16px}.card h2,.card h3,.card h4,.card h5{color:var(--text)}.help-text,.muted,.meta{color:var(--text-dim)}button,.primary-link-button{border-radius:6px;font-size:13px;font-weight:600}button{background:var(--accent);padding:8px 13px}button:hover:not(:disabled){background:var(--accent-strong)}.primary-link-button{background:var(--accent);color:#fff;justify-content:center;align-items:center;min-height:36px;padding:8px 13px;text-decoration:none;display:inline-flex}.primary-link-button:hover{background:var(--accent-strong);color:#fff;text-decoration:none}input[type=text],input[type=password],textarea,select,.type-filter,.pages-filter{border-color:var(--border);border-radius:6px;font-size:13px}input[type=text]:focus,input[type=password]:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #335f9e1f}.badge,.status,.status-badge{border-radius:999px}.admin-tabs{border-bottom:1px solid var(--border);gap:2px}.admin-tabs button{padding:8px 12px;font-size:13px}.admin-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.jobs-table th{background:#f8fafc}.jobs-table th,.jobs-table td{border-bottom-color:var(--border);font-size:13px}.advisor-home{max-width:1050px;margin:0 auto}.page-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:28px;margin:8px 0 24px;padding-bottom:22px;display:flex}.page-heading h1{color:var(--text);margin:3px 0 7px;font-size:24px;font-weight:680;line-height:1.2}.page-heading p{max-width:700px;color:var(--text-dim);margin:0}.eyebrow,.home-card-kicker{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:750}.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.home-card{background:var(--bg-panel);border:1px solid var(--border);min-height:190px;color:inherit;border-radius:9px;flex-direction:column;padding:18px;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s;display:flex}.home-card:hover{border-color:#aebdce;text-decoration:none;transform:translateY(-1px);box-shadow:0 5px 18px #0f172a0f}.home-card h2{color:var(--text);margin:9px 0 7px;font-size:16px}.home-card p{color:var(--text-dim);margin:0;font-size:13px}.home-card-action{color:var(--accent);margin-top:auto;padding-top:18px;font-size:12px;font-weight:650}.home-secondary{border:1px solid var(--border);background:#eef2f6;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:16px 18px;display:flex}.home-secondary h3{margin:0 0 3px;font-size:14px}.home-secondary p{color:var(--text-dim);margin:0;font-size:12px}.home-secondary a{white-space:nowrap;font-size:12px;font-weight:650}:is(.app-main:has(.questions-layout),.app-main:has(.overlay-page)){width:calc(100% - 224px);max-width:none;margin:0;padding:18px}@media (width<=980px){.home-grid{grid-template-columns:1fr}}@media (width<=820px){.app-shell{flex-direction:column}.sidebar{flex-flow:wrap;flex:none;align-items:center;width:100%;height:auto;min-height:0;padding:10px;position:static}.sidebar .brand{width:100%;padding:3px 8px 9px}.sidebar-section-label,.sidebar-note,.sidebar-spacer{display:none}.sidebar .nav-item{padding:7px 9px}.sidebar-signout{width:auto;margin:0 0 0 auto}:is(.app-main,.app-main:has(.questions-layout),.app-main:has(.overlay-page)){width:100%;padding:18px 14px}.page-heading,.home-secondary{flex-direction:column;align-items:flex-start}}
