:root{--bg: #EDEFEA;--surface: #FFFFFF;--ink: #16211D;--ink-soft: #4B564F;--line: #D7DCD3;--brand: #1B4332;--brand-ink: #0E241C;--accent: #C97B2E;--accent-soft: #F3D9B8;--ok: #3E7A5C;--warn: #B5541E;--radius: 10px;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.01em}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--brand-ink);color:#edefea;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar .brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:8px}.topbar .brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}.topbar nav{display:flex;gap:4px}.topbar nav a{color:#c9d3cb;text-decoration:none;font-size:.9rem;padding:8px 12px;border-radius:8px}.topbar nav a.active,.topbar nav a:hover{background:#ffffff14;color:#fff}main.page{flex:1;max-width:900px;margin:0 auto;padding:28px 20px 60px;width:100%}.scanner{background:var(--brand-ink);border-radius:14px;padding:22px;margin-bottom:24px;box-shadow:inset 0 0 0 1px #ffffff0d}.scanner label{color:#9fb3a6;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:8px}.scanner input{width:100%;background:transparent;border:none;outline:none;color:var(--accent);font-family:var(--font-mono);font-size:1.6rem;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.15)}.scanner input::placeholder{color:#4b5c51}.scanner .filters{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.scanner select{background:#ffffff0f;color:#edefea;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:7px 10px;font-family:var(--font-body);font-size:.82rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.component-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.component-card .type-tag{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);background:#e4efe8;display:inline-block;padding:3px 8px;border-radius:5px;margin-bottom:10px}.component-card h3{font-size:1rem;margin-bottom:4px}.component-card .part-number{font-family:var(--font-mono);color:var(--ink-soft);font-size:.85rem;margin-bottom:8px}.component-card .meta{font-size:.82rem;color:var(--ink-soft);margin-bottom:10px}.component-card .condition{font-size:.75rem;font-weight:600;display:inline-block;margin-bottom:10px}.component-card .condition.ok{color:var(--ok)}.component-card .condition.untested{color:var(--warn)}.component-card .price{font-family:var(--font-display);font-weight:700;font-size:1.15rem;margin-bottom:10px}.btn{display:inline-block;text-decoration:none;font-family:var(--font-body);font-weight:600;font-size:.88rem;padding:9px 16px;border-radius:8px;border:none;cursor:pointer}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink)}.btn-whatsapp{background:#edf7f1;color:var(--ok);width:100%;text-align:center}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}form.stack{display:flex;flex-direction:column;gap:14px;max-width:480px}form.stack label{font-size:.85rem;font-weight:600;margin-bottom:4px;display:block}form.stack input,form.stack select,form.stack textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:.92rem;background:var(--surface);color:var(--ink)}.error-banner{background:#fbeae2;color:var(--warn);padding:10px 14px;border-radius:8px;font-size:.88rem;margin-bottom:14px}.empty-state{text-align:center;padding:60px 20px;color:var(--ink-soft)}.empty-state h3{margin-bottom:8px}
