:root{--bg:#f3f5f8;--ink:#1f2937;--muted:#667085;--line:#d8dee8;--nav:#041018;--nav-ink:#eef2f6;--nav-muted:#9eb0bc;--accent:#ff5a4e;--neon:#3de8ff;--neon2:#7cf0ff;--ok:#047857;--warn:#92400e;--bad:#b91c1c}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--ink);background:var(--bg);font-family:DM Sans,Segoe UI,system-ui,sans-serif;line-height:1.45}button,input,select{font:inherit}.app{min-height:100vh}.site-nav{z-index:20;background:#030d14f0;border-bottom:1px solid #78dce61f;justify-content:space-between;align-items:center;gap:1rem;height:56px;padding:0 1.25rem;display:flex;position:sticky;top:0}.nav-brand{color:var(--nav-ink);flex-direction:column;min-width:0;text-decoration:none;display:flex}.nav-brand strong{letter-spacing:.3px;font-size:14px;font-weight:800}.nav-brand span{color:var(--nav-muted);font-size:11px;font-weight:500}.nav-cta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.btn-nav-outline{color:var(--neon2);white-space:nowrap;background:0 0;border:1px solid #3de8ff59;border-radius:9px;padding:7px 14px;font-size:11px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}.btn-nav-outline:hover{background:#3de8ff14;border-color:#3de8ff8c;transform:translateY(-1px)}.btn-nav-outline.accent{color:#fff;background:#ff5a4e1f;border-color:#ff5a4e73}.btn-nav-outline.accent:hover{background:#ff5a4e33;border-color:#ff5a4ea6}.btn-nav-outline.active{color:#fff;background:#3de8ff29;border-color:#3de8ffb3}.layout{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:1rem;padding:1rem;display:grid}.stack{flex-direction:column;gap:1rem;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:1rem;box-shadow:0 2px 8px #0f172a0d}.card h2{margin:0 0 .45rem;font-size:1.02rem}.muted{color:var(--muted);font-size:.88rem}.master-status{background:#eef4ff;border:1px solid #b2ccff;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.7rem .85rem;font-size:.9rem;display:flex}.master-status.empty{background:#fff7ed;border-color:#fdba74}.btn{cursor:pointer;background:#fff;border:1px solid #c5cedb;border-radius:8px;padding:.42rem .85rem}.btn.primary{background:#dbeafe;border-color:#93c5fd;font-weight:600}.btn.danger{background:#fef2f2;border-color:#fecaca}.btn:disabled{opacity:.55;cursor:not-allowed}.file-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.fallback-ask{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:.65rem;padding:.7rem .85rem}.fallback-ask p{color:var(--warn);margin:0 0 .45rem;font-size:.88rem}.fallback-ask select{background:#fff;border:1px solid #cfd7e3;border-radius:8px;width:100%;padding:.4rem .5rem}.label input,.label select,.toolbar input,.toolbar select,.cell-input{background:#fff;border:1px solid #cfd7e3;border-radius:8px;width:100%;padding:.35rem .45rem}.label{flex-direction:column;gap:.25rem;margin:.45rem 0;font-size:.88rem;font-weight:600;display:flex}.row-2{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.banner{border-radius:8px;margin:0 0 .75rem;padding:.65rem .85rem}.banner.error{color:var(--bad);background:#fef2f2;border:1px solid #fecaca}.banner.info{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.banner.warn{color:var(--warn);background:#fffbeb;border:1px solid #fde68a}.stats{flex-wrap:wrap;gap:.45rem;margin:.4rem 0 .75rem;display:flex}.chip{cursor:pointer;background:#fff;border:1px solid #d8dee8;border-radius:999px;padding:.28rem .7rem;font-size:.8rem}.chip.on{color:#fff;background:#0f172a;border-color:#0f172a}.chip.bad.on{background:#991b1b;border-color:#991b1b}.chip.warn.on{background:#b45309;border-color:#b45309}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:.75rem;display:flex}.toolbar .label{min-width:160px;margin:0}.table-wrap{border:1px solid #e5eaf1;border-radius:8px;max-height:calc(100vh - 230px);overflow:auto}table{border-collapse:collapse;width:100%;font-size:.8rem}th,td{text-align:left;white-space:nowrap;vertical-align:middle;border-bottom:1px solid #eef1f6;padding:.28rem .4rem}th{z-index:1;background:#f8fafc;font-weight:650;position:sticky;top:0}tr.unmatched{background:#fef2f2}tr.conflict{background:#fff1f2}tr.review{background:#fffbeb}tr.pricediff td.price-cell{background:#fef3c7}.tag{border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.tag.high{color:#065f46;background:#d1fae5}.tag.review{color:#92400e;background:#fde68a}.tag.unmatched{color:#991b1b;background:#fecaca}.tag.price_conflict{color:#9f1239;background:#fda4af}.tag.manual{color:#1e40af;background:#dbeafe}.match-basis{color:#667085;white-space:normal;max-width:16rem;margin-top:.15rem;font-size:.68rem;font-weight:500;line-height:1.3;display:block}.price-note{color:#92400e;font-size:.7rem;display:block}.cell-input.narrow{width:4.2rem}.cell-input.mid{width:7.5rem}.cell-input.wide{width:11rem}.check{align-items:center;gap:.4rem;font-size:.86rem;font-weight:500;display:flex}.export-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}@media (width<=980px){.layout{grid-template-columns:1fr}.site-nav{flex-wrap:wrap;height:auto;padding:.65rem 1rem}}
