:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#18181b;background-color:#f4f4f5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4f4f5}#root{min-height:100vh}a{color:#2563eb}button{border-radius:8px;border:1px solid transparent;font-size:1rem;font-weight:600;font-family:inherit;background-color:#18181b;color:#fff;cursor:pointer;transition:opacity .2s ease}button[disabled]{opacity:.5;cursor:not-allowed}:root{--color-slate-900: #0f172a;--color-slate-700: #475569;--color-slate-500: #94a3b8;--color-muted: #64748b;--color-border: #e4e4e7;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-primary: #2563eb;--color-primary-strong: #1d4ed8;--color-primary-soft: #e0e7ff;--shadow-form: 0 10px 30px rgba(15, 23, 42, .06);--shadow-chip: 0 10px 25px rgba(15, 23, 42, .08);--shadow-chip-hover: 0 18px 32px rgba(15, 23, 42, .14);--shadow-cta: 0 18px 32px rgba(37, 99, 235, .35);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 10px;--radius-pill: 999px}.app{max-width:1040px;margin:0 auto;padding:3rem 1rem 4rem;display:flex;flex-direction:column;gap:1.75rem}.app h1{text-align:center;font-size:clamp(1.75rem,4vw,2.6rem);margin-bottom:.25rem}.app__brand{display:flex;align-items:center;justify-content:center;gap:.85rem;line-height:1.1}.app__logo-mark{width:clamp(48px,7vw,64px);height:clamp(48px,7vw,64px);flex-shrink:0;filter:drop-shadow(0 12px 24px rgba(15,23,42,.2))}.search-form{display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-form)}.search-form__inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.search-form input{padding:1rem 1.1rem;border-radius:var(--radius-md);border:1.5px solid #d4d4d8;background:var(--color-surface-muted);font-size:1rem;color:var(--color-slate-900);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.search-form input::placeholder{color:var(--color-slate-500)}.search-form input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px #2563eb1f}.source-chip-row{display:flex;flex-wrap:wrap;gap:.75rem}.source-chip{border:1.5px solid var(--color-border);border-radius:var(--radius-pill);padding:.75rem 1rem;background:var(--color-surface-muted);color:var(--color-slate-900);font-weight:600;display:inline-flex;align-items:center;gap:.55rem;min-width:180px;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;box-shadow:var(--shadow-chip)}.source-chip:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-chip-hover)}.source-chip:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:3px}.source-chip--active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-strong);box-shadow:var(--shadow-chip-hover)}.chip-dot{width:.5rem;height:.5rem;border-radius:50%;display:inline-flex;box-shadow:0 0 0 4px #0f172a0d}.source-chip--active .chip-dot{box-shadow:0 0 0 4px #2563eb2e}.chip-label{font-size:.95rem}.chip-helper{display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-muted);align-items:center}.chip-helper__hint{font-style:italic;color:var(--color-slate-500)}.search-form__submit{margin-top:.25rem;align-self:flex-start;border:none;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:#fff;padding:.95rem 2.75rem;font-size:1rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:var(--shadow-cta);transition:transform .18s ease,box-shadow .18s ease,opacity .15s ease}.search-form__submit:focus-visible{outline:4px solid rgba(37,99,235,.35);outline-offset:3px}.search-form__submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.search-form__submit:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 22px 35px #2563eb66}.search-form__submit:not(:disabled):active{transform:translateY(-1px)}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.results-section{display:flex;flex-direction:column;gap:1.25rem}.results-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.toolbar-group{display:flex;flex-direction:column;gap:.25rem}.toolbar-group label{font-size:.85rem;color:#6b7280}.toolbar-group select{padding:.6rem .85rem;border-radius:10px;border:1px solid #d4d4d8;background:#fff}.toolbar-filters{display:flex;flex-wrap:wrap;gap:.4rem}.filter-chip{border-radius:999px;padding:.3rem .9rem;border:1px solid #e2e8f0;background:#f8fafc;font-size:.85rem;color:#475569;cursor:pointer}.filter-chip--active{background:#ecfeff;border-color:#22d3ee;color:#0e7490}.results-summary{margin-left:auto;font-size:.9rem;color:#475569}.source-legend{list-style:none;display:flex;gap:1rem;padding:0;margin:0;flex-wrap:wrap;color:#475569;font-size:.9rem}.source-legend li{display:flex;align-items:center;gap:.4rem}.source-legend__dim{opacity:.45}.source-dot{width:.625rem;height:.625rem;border-radius:999px;display:inline-flex}.result-card{border:1px solid #e4e4e7;border-radius:18px;padding:1.5rem;background:#fff;display:flex;flex-direction:column;gap:1rem;box-shadow:0 25px 40px #0f172a14;transition:transform .15s ease,box-shadow .15s ease}.result-card:hover{transform:translateY(-4px);box-shadow:0 30px 50px #0f172a1f}.result-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.result-card__source-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.source-pill{display:inline-flex;gap:.3rem;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#f1f5f9;font-size:.75rem;color:#475569;border:1px solid #e5e7eb}.result-card__location{margin:.35rem 0 0;color:#6b7280;font-size:.9rem}.result-card__score{min-width:88px;padding:.4rem .75rem;border-radius:12px;text-align:center;background:linear-gradient(135deg,#fda4af,#fb7185);color:#fff;font-size:.85rem}.result-card__score strong{display:block;font-size:1.6rem;line-height:1.2}.result-card__contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.result-card__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem 1rem;font-size:.95rem}.data-point{padding:.65rem .75rem;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.data-point__label{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#94a3b8;margin-bottom:.35rem}.data-point__origins{display:inline-flex;gap:.2rem}.data-point__value{font-weight:600;color:#0f172a;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-na{display:inline-flex;align-items:center;padding:.1rem .5rem;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.8rem;font-weight:600}.result-card__tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.5rem 0 0}.result-card__tags li{background:#f1f5f9;color:#475569;padding:.35rem .75rem;border-radius:999px;font-size:.78rem;border:1px solid #e2e8f0}.result-card__footer{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#475569}.link-ghost{color:#2563eb;text-decoration:none;font-weight:600}.detail-overlay{position:fixed;inset:0;background:#0f172aa6;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20}.detail-panel{max-width:900px;width:100%;max-height:95vh;overflow-y:auto;background:#fff;border-radius:18px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.detail-panel__close{align-self:flex-start;border:none;background:transparent;color:#2563eb;font-weight:600;cursor:pointer}.detail-panel__header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-panel__score{min-width:180px;padding:.75rem;border-radius:16px;background:#0f172a;color:#fff;text-align:center}.detail-panel__score strong{font-size:2rem;line-height:1.2;display:block}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.detail-field{padding:.9rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.detail-panel__footer{display:flex;flex-direction:column;gap:.85rem}.source-summary{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:#475569;font-size:.9rem}.primary-link{align-self:flex-start;background:#0f172a;color:#fff;padding:.6rem 1.2rem;border-radius:12px;text-decoration:none;font-weight:600}.status{text-align:center;color:#71717a}.error{color:#dc2626;text-align:center}.scan-modal{position:fixed;inset:0;background:#f8fafcd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:60}.scan-modal__card{width:min(520px,100%);background:var(--color-surface);border-radius:26px;padding:2rem;color:var(--color-slate-700);box-shadow:0 25px 60px #0f172a1f;border:1px solid rgba(226,232,240,.9);display:flex;flex-direction:column;gap:1.25rem}.scan-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.scan-modal__badge{align-self:flex-start;background:#2563eb14;border:1px solid rgba(37,99,235,.35);color:var(--color-primary);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.scan-modal__title{font-size:1.5rem;margin:0;color:var(--color-slate-900)}.scan-modal__spinner{width:48px;height:48px;border-radius:50%;border:3px solid rgba(37,99,235,.18);border-top-color:var(--color-primary);animation:scan-spin 1s linear infinite;flex-shrink:0;position:relative;box-shadow:0 10px 25px #2563eb26}.scan-modal__spinner:after{content:"";position:absolute;inset:8px;border-radius:inherit;border:3px solid transparent;border-top-color:#2563eb59;animation:scan-spin 1.6s linear infinite reverse}.scan-modal__spinner:before{content:"";position:absolute;inset:14px;border-radius:inherit;background:#2563eb14}.scan-modal__subtitle{margin:0;color:var(--color-muted)}.scan-modal__progress{display:flex;flex-direction:column;gap:.45rem}.scan-modal__progress-bar{width:100%;height:10px;border-radius:999px;background:#6366f11a;overflow:hidden}.scan-modal__progress-fill{display:block;height:100%;width:12%;background:linear-gradient(90deg,#38bdf8,#2563eb);border-radius:inherit;transition:width .3s ease;box-shadow:0 8px 20px #3b82f640}.scan-modal__progress-label{font-size:.85rem;color:var(--color-muted)}.scan-modal__step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.scan-modal__step{--step-color: rgba(99, 102, 241, .4);position:relative;padding:.65rem .9rem .65rem 2.8rem;border-radius:16px;border:1px solid rgba(226,232,240,.8);background:#f8fafccc;color:var(--color-slate-700)}.scan-modal__step:before{content:"";width:.85rem;height:.85rem;border-radius:999px;background:var(--step-color);position:absolute;left:1.25rem;top:.95rem;box-shadow:0 0 0 5px #94a3b840}.scan-modal__step:after{content:"";position:absolute;left:1.6rem;top:1.75rem;bottom:-.65rem;width:2px;background:#94a3b840}.scan-modal__step:last-child:after{display:none}.scan-modal__step-label{font-weight:600;color:var(--color-slate-900)}.scan-modal__step-desc{margin:.3rem 0 0;font-size:.85rem;color:var(--color-muted)}.scan-modal__step--active{border-color:#3b82f673;background:#dbeafecc;color:var(--color-slate-900)}.scan-modal__step--active:before{box-shadow:0 0 0 6px #3b82f633}.scan-modal__step--complete{border-color:#22c55e59;background:#bbf7d0b3}.scan-modal__step--complete:before{box-shadow:0 0 0 4px #22c55e26}.scan-modal__step--upcoming:before{opacity:.35}@keyframes scan-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.search-form{padding:1rem}.chip-helper{flex-direction:column;gap:.2rem}.search-form__submit{width:100%}.results-toolbar{flex-direction:column;align-items:flex-start}.results-summary{margin-left:0}}
