:root{--bg-page: #f3f4f6;--bg-sidebar: #111111;--bg-sidebar-accent: #1f1f1f;--bg-card: #ffffff;--border: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--sidebar-muted: #9ca3af;--accent: #374151;--ok: #17643b;--warn: #b54708;--danger: #b42318;--score-high-bg: rgba(23,100,59,.12);--score-high-text: var(--ok);--score-mid-bg: rgba(181,71,8,.12);--score-mid-text: var(--warn);--score-low-bg: rgba(180,35,24,.12);--score-low-text: var(--danger);--score-neutral-bg: #eef0f3;--score-neutral-text: var(--text-muted);--urgent-bg: rgba(180,35,24,.12);--urgent-text: var(--danger);--soon-bg: rgba(181,71,8,.12);--soon-text: var(--warn);--radius: 12px;--font-sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:232px;flex-shrink:0;background:var(--bg-sidebar);color:#f3f4f6;display:flex;flex-direction:column;padding:20px 0;justify-content:space-between}.brand{font-weight:700;font-size:17px;padding:0 20px 16px;display:flex;align-items:center;gap:8px;letter-spacing:-.02em}.brand:before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;display:inline-block}.sidebar-search{padding:0 14px 16px}.sidebar-search input{width:100%;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:var(--bg-sidebar-accent);color:#f3f4f6;padding:0 12px;font-size:13px;font-family:var(--font-sans)}.sidebar-search input::placeholder{color:var(--sidebar-muted)}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:0 10px}.nav-item{background:none;border:none;color:var(--sidebar-muted);text-align:left;padding:10px 12px;font-size:14px;cursor:pointer;border-radius:8px;transition:background .15s}.nav-item:hover{background:var(--bg-sidebar-accent);color:#fff}.nav-item.active{background:var(--bg-sidebar-accent);color:#fff;font-weight:500}.sidebar-footer{padding:0 14px;display:flex;flex-direction:column;gap:10px}.user-info{border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.user-name{font-size:13px;color:#fff;font-weight:500}.user-role{font-size:11px;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-family:var(--font-mono)}.logout-btn{background:none;border:1px solid rgba(255,255,255,.14);color:#ccc;border-radius:8px;padding:7px;cursor:pointer;font-size:12px}.logout-btn:hover{background:var(--bg-sidebar-accent)}.content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.topbar{padding:20px 28px 0}.breadcrumb{font-size:12px;color:var(--text-muted);margin-bottom:6px}.breadcrumb b{color:var(--text-secondary);font-weight:500}.page-title{font-size:24px;font-weight:700;margin:0;letter-spacing:-.03em}.page-subtitle{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.toolbar{display:flex;align-items:center;gap:10px;padding:16px 28px;flex-wrap:wrap}.search-input{flex:1;min-width:180px;padding:9px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px;font-family:var(--font-sans)}.toolbar-count{font-size:11px;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);padding:6px 10px;border-radius:20px;font-family:var(--font-mono)}.dashboard-body{flex:1;padding:0 28px 28px;display:flex;gap:20px;min-height:0}.board{display:flex;gap:16px;overflow-x:auto;flex:1;padding-bottom:8px}.column{min-width:300px;max-width:300px;background:transparent;display:flex;flex-direction:column}.column-header{font-weight:600;font-size:12px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.column-header .count{color:var(--text-muted);font-weight:500;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:1px 8px;font-size:11px;font-family:var(--font-mono)}.mini-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .15s}.mini-card:hover{border-color:#11182733}.mini-card-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.reg-id{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}.mini-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.mini-card-title{font-size:14px;line-height:1.35;font-weight:500;letter-spacing:-.01em;flex:1}.mini-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text-secondary);margin-top:8px}.mini-card-meta .customer{color:var(--text-primary)}.mini-card-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.stat-block{display:flex;flex-direction:column;gap:1px}.stat-block-label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.stat-block-value{font-family:var(--font-mono);font-size:13.5px}.stat-block-value.right{text-align:right}.match-score{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.match-score-value{font-family:var(--font-mono);font-size:18px;font-weight:500;line-height:1}.score-text-high{color:var(--ok)}.score-text-mid{color:var(--warn)}.score-text-low{color:var(--danger)}.score-text-neutral{color:var(--text-muted)}.match-score-label{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--border);padding:1px 8px;font-size:10.5px;font-weight:500;letter-spacing:.02em}.badge-outline{border-color:var(--border);color:var(--text-primary);background:transparent}.tag{font-size:10.5px;padding:1px 8px;border-radius:999px;font-weight:500;border:1px solid transparent}.tag-urgent{background:var(--urgent-bg);color:var(--urgent-text)}.tag-soon{background:var(--soon-bg);color:var(--soon-text)}.score{padding:1px 9px;border-radius:999px;font-weight:500;font-size:12px;white-space:nowrap;font-family:var(--font-mono)}.score-high{background:var(--score-high-bg);color:var(--score-high-text)}.score-mid{background:var(--score-mid-bg);color:var(--score-mid-text)}.score-low{background:var(--score-low-bg);color:var(--score-low-text)}.score-neutral{background:var(--score-neutral-bg);color:var(--score-neutral-text)}.empty-column{color:var(--text-muted);font-size:12px;padding:10px;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.panel{width:380px;flex-shrink:0;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.panel-header h2{font-size:17px;margin:0;line-height:1.35;letter-spacing:-.02em}.close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted);flex-shrink:0}.panel-section h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 5px;font-weight:600}.panel-section p{margin:0;font-size:13.5px;line-height:1.45}.score-value{font-size:22px;font-weight:600;font-family:var(--font-mono)}.muted{color:var(--text-secondary);font-size:13px}.ai-chat{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;gap:8px}.ai-chat-header{font-weight:600;font-size:12.5px;display:flex;align-items:center;gap:6px}.ai-chat-header:before{content:"✦";color:var(--text-primary)}.ai-chat-messages{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.bubble{padding:8px 11px;border-radius:10px;font-size:13px;max-width:88%;line-height:1.4}.bubble-user{align-self:flex-end;background:var(--score-neutral-bg)}.bubble-assistant{align-self:flex-start;background:#f2f1ec}.ai-chat-input{display:flex;gap:8px}.ai-chat-input input{flex:1;padding:9px 11px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-family:var(--font-sans)}.ai-chat-input button{padding:9px 14px;border-radius:8px;border:none;background:var(--text-primary);color:#fff;cursor:pointer;font-size:13px}.placeholder{color:var(--text-muted);padding:28px}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page)}.login-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border);padding:32px;width:320px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-border, 0 8px 24px rgba(0,0,0,.06))}.login-brand{font-weight:700;font-size:20px;letter-spacing:-.02em}.login-subtitle{color:var(--text-secondary);font-size:13px;margin:0 0 8px}.login-card label{font-size:12px;color:#555;margin-top:6px}.login-card input{padding:10px;border-radius:8px;border:1px solid var(--border);font-size:14px;font-family:var(--font-sans)}.login-card button{margin-top:14px;padding:10px;border-radius:8px;border:none;background:var(--text-primary);color:#fff;font-size:14px;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.login-error{color:var(--danger);font-size:13px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;padding:0 28px 28px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-value{font-size:24px;font-weight:600;font-family:var(--font-mono)}.stat-label{font-size:11px;color:var(--text-secondary);margin-top:4px;text-transform:uppercase;letter-spacing:.03em}.view-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-btn{background:#fff;border:none;padding:8px 12px;cursor:pointer;font-size:14px;color:var(--text-secondary);border-right:1px solid var(--border)}.view-btn:last-child{border-right:none}.view-btn.active{background:var(--text-primary);color:#fff}.approve-btn{margin-top:10px;width:100%;padding:8px;border-radius:8px;border:1px solid var(--ok);background:transparent;color:var(--ok);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.approve-btn:hover{background:#17643b14}.dashboard-body-table{flex-direction:column}.tender-table-wrap{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.tender-table{width:100%;border-collapse:collapse;font-size:13px}.tender-table th{text-align:left;padding:12px 16px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.tender-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.tender-table tr:last-child td{border-bottom:none}.tender-table tr{cursor:pointer}.tender-table tr:hover td{background:#fafafa}.table-title{font-weight:500;margin-bottom:2px}.table-subtitle{color:var(--text-secondary);font-size:12px}.tender-table .approve-btn{width:auto;padding:6px 12px;margin-top:0}.mono{font-family:var(--font-mono)}.collapsible-section{border-top:1px solid var(--border);padding-top:10px}.collapsible-header{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;padding:0;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.collapsible-header span:first-child{display:flex;align-items:center;gap:6px}.dot{width:6px;height:6px;border-radius:50%;background:var(--border);display:inline-block}.dot-filled{background:var(--text-primary)}.chevron{color:var(--text-muted);font-size:12px}.collapsible-body{margin-top:6px;font-size:13.5px;line-height:1.45;text-transform:none;letter-spacing:normal;color:var(--text-primary)}.assistant-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--text-primary);color:#fff;border:none;font-size:20px;cursor:pointer;box-shadow:0 6px 20px #0000002e;z-index:50}.assistant-panel{position:fixed;bottom:88px;right:24px;width:360px;max-width:calc(100vw - 32px);max-height:70vh;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 32px #00000029;z-index:50;display:flex;flex-direction:column;overflow:hidden}.assistant-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:600;font-size:13px}.assistant-panel-body{padding:14px;overflow-y:auto}.assistant-panel-body .ai-chat{border-top:none;padding-top:0}.assistant-panel-body .ai-chat-messages{max-height:320px}.documents-page{padding:0 28px 28px}.documents-list{display:flex;flex-direction:column;gap:8px}.document-row{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.document-info{flex:1;min-width:0}.upload-btn{padding:9px 14px;border-radius:8px;border:none;background:var(--text-primary);color:#fff;font-size:13px;cursor:pointer}.upload-btn:disabled{opacity:.6;cursor:default}.status-select{padding:6px 10px;border-radius:8px;border:1px solid var(--border);font-size:12.5px;font-family:var(--font-sans);background:#fff}.settings-page{padding:0 28px 28px;display:flex;flex-direction:column;gap:24px}.settings-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 12px}.integrations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}@media (max-width: 860px){.assistant-panel{right:16px;left:16px;width:auto}.assistant-fab{right:16px}.layout{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.sidebar{width:100%;padding:14px 16px}.sidebar>div:first-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand{padding:0}.sidebar-search{padding:0;flex:1;min-width:140px}.sidebar nav{flex-direction:row;padding:0;flex-wrap:wrap}.sidebar-footer{flex-direction:row;align-items:center;padding:10px 0 0;justify-content:space-between}.user-info{border-top:none;padding-top:0}.content{overflow:visible}.dashboard-body{flex-direction:column;padding:0 16px 16px}.board{flex-direction:column;overflow-x:visible}.column{min-width:0;max-width:none}.panel{width:auto}.topbar,.toolbar{padding-left:16px;padding-right:16px}}
