@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";.app{min-height:100vh;width:min(100%,1760px);margin:0 auto;padding:16px 20px 22px;display:flex;flex-direction:column;gap:18px}.app-auth{width:100%;max-width:none;justify-content:center;align-items:center;padding:20px}.auth-shell{width:min(100%,460px)}.auth-card{padding:30px}.auth-brand{margin-bottom:20px}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.71rem;font-weight:700;color:var(--muted);margin-bottom:8px}.subtle{color:var(--muted);max-width:620px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 12px 36px -28px #16213a61}.auth-panel{max-width:460px}.user-card{display:flex;flex-direction:column;gap:6px;align-items:flex-end;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel-muted)}.user-card-title{font-weight:700;line-height:1.3}.user-card-subtle{color:var(--muted);font-size:.85rem;line-height:1.2}.form-grid{display:grid;gap:14px}.form-inline{display:grid;gap:16px;margin-bottom:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.form-inline-companies{grid-template-columns:repeat(3,minmax(200px,1fr)) minmax(140px,auto) minmax(160px,auto)}.form-inline-users{grid-template-columns:repeat(3,minmax(180px,1fr)) minmax(180px,auto)}.form-inline-csv{grid-template-columns:minmax(220px,1fr) minmax(340px,1.15fr) minmax(180px,auto)}.form-inline-users>button,.form-inline-csv>button{width:100%}.form-inline .form-row{align-self:start}.form-row{display:flex;flex-direction:column;gap:6px}.form-row label{font-weight:600;color:var(--text)}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.section-title{margin:0;font-size:1.12rem;letter-spacing:-.01em}.section-subtitle{margin-top:4px;color:var(--muted);font-size:.9rem}.metric-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.form-actions{display:flex;gap:10px;align-items:center}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:4px;border-radius:12px;border:1px solid var(--border);background:var(--panel-muted);width:fit-content}.tab{border:1px solid transparent;background:transparent;border-radius:10px;padding:7px 13px;font-weight:600;color:var(--muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tab.active{background:var(--panel);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--accent-strong);box-shadow:0 4px 10px -8px #1b2c5073}.view{display:grid;gap:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:2px}.search input{width:min(440px,100%);min-width:220px}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}.table-wrapper{overflow-x:auto;border-radius:14px;border:1px solid var(--border);background:var(--panel)}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.table th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel-muted);font-weight:700;position:sticky;top:0;z-index:1}.table tbody tr:hover{background:var(--panel-muted)}.table-title{font-weight:600;color:var(--text);line-height:1.4}.table-subtle{font-size:.85rem;color:var(--muted)}.table-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 10px;background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;font-weight:600}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 11px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}.status-badge.status-yes{background:var(--success-bg);color:var(--success-text)}.status-badge.status-partial{background:var(--warning-bg);color:var(--warning-text)}.status-badge.status-no{background:var(--panel-muted);color:var(--muted)}.tender-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:.8rem;color:var(--muted)}.tender-details summary{cursor:pointer;font-weight:600;color:var(--text)}.tender-details[open] summary{margin-bottom:8px}.tender-details-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,1fr);gap:12px}.mini-table{width:100%;border-collapse:collapse;font-size:.83rem}.mini-table th,.mini-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.mini-table th{width:160px;font-weight:600;color:var(--muted)}.mini-table td a{color:var(--accent);word-break:break-all}.match-items{display:flex;flex-direction:column;gap:8px}.match-item{border:1px solid var(--border);background:var(--panel-muted);border-radius:10px;padding:8px 10px}.match-item-title{font-weight:600;margin-bottom:4px}.match-item-products{font-size:.85rem;color:var(--muted)}.match-empty{font-size:.9rem;color:var(--muted)}.alert{margin-top:6px;padding:11px 12px;border-radius:10px;background:var(--warning-bg);color:var(--warning-text);font-size:.9rem;border:1px solid color-mix(in srgb,var(--warning-text) 22%,transparent)}.alert.success{background:var(--success-bg);color:var(--success-text);border-color:color-mix(in srgb,var(--success-text) 22%,transparent)}button{border:none;border-radius:11px;padding:9px 13px;font-weight:600;cursor:pointer;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}button:hover{filter:brightness(1.04)}button:active{transform:translateY(1px)}button.primary{background:var(--accent);color:#fff;box-shadow:0 10px 20px -16px #2d63dcd9}button.primary:disabled{opacity:.65;cursor:not-allowed}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger-bg);color:var(--danger-text)}input,textarea,select{border:1px solid var(--border);border-radius:11px;padding:9px 11px;background:var(--panel);color:var(--text);font-size:.94rem;transition:border-color .15s ease,box-shadow .15s ease}input[type=file]{padding:5px}input[type=file]::file-selector-button{border:1px solid var(--border);border-radius:8px;background:var(--panel-muted);color:var(--text);padding:7px 10px;margin-right:10px;font-weight:600;cursor:pointer}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-soft);outline-offset:1px;border-color:var(--accent)}.form-help{margin:0;font-size:.84rem}@media (max-width: 900px){.app{padding:10px 12px 14px;gap:12px}.auth-card{padding:20px}.table{min-width:620px}.tender-details-grid{grid-template-columns:1fr}.user-card{align-items:flex-start}.table-actions{justify-content:flex-start}.tabs{width:100%}.form-inline-companies,.form-inline-users,.form-inline-csv{grid-template-columns:1fr}}:root{--font-sans: "Plus Jakarta Sans", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", monospace;--bg: #f4f6fb;--bg-elevated: #eef2f9;--panel: #ffffff;--panel-muted: #f7f9fd;--text: #1c2434;--muted: #667085;--border: #dce3f0;--accent: #2f6df6;--accent-strong: #1d4fd7;--accent-soft: #e8efff;--warning-bg: #fff1dc;--warning-text: #8a5800;--success-bg: #e5f7ee;--success-text: #13653d;--danger-bg: #fde8e8;--danger-text: #a02828;--shadow: 0 18px 48px -34px rgba(26, 39, 73, .35)}@media (prefers-color-scheme: dark){:root{--bg: #10141d;--bg-elevated: #171d29;--panel: #1a2130;--panel-muted: #20293a;--text: #ecf1fa;--muted: #a2b0c8;--border: #2f3a4f;--accent: #5f8bff;--accent-strong: #84a6ff;--accent-soft: #27344f;--warning-bg: #3a2b1e;--warning-text: #ffd39a;--success-bg: #1e3729;--success-text: #8ce1b3;--danger-bg: #442327;--danger-text: #ff9ba4;--shadow: 0 18px 48px -34px rgba(0, 0, 0, .65)}}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;font-family:var(--font-sans);color:var(--text);background:radial-gradient(1200px 420px at 80% -120px,rgba(47,109,246,.14),transparent 60%),radial-gradient(700px 240px at -120px 100%,rgba(47,109,246,.08),transparent 60%),linear-gradient(180deg,var(--bg-elevated),var(--bg))}h1{margin:0 0 8px;font-size:clamp(1.55rem,1.2rem + 1vw,2rem)}p{margin:0;line-height:1.6}button,input,textarea{font-family:inherit}a{color:inherit}
