*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background:#f5f5f5;color:#222;min-height:100vh}#root{max-width:900px;margin:0 auto;padding:2rem 1rem}h1{font-size:1.8rem;margin-bottom:.25rem}h2{font-size:1.3rem;margin:1.5rem 0 .75rem}h3{font-size:1rem;margin-bottom:.5rem;color:#555}p.tagline{color:#666;margin-bottom:2rem;font-size:.95rem}.demo-banner{background:#fef3c7;border:1px solid #fcd34d;color:#78350f;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;line-height:1.4;margin-bottom:1.25rem}.msrp-note{font-size:.82rem;color:#555;margin-bottom:1rem}section{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014}form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem;color:#444}form input,form select,form textarea{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;margin-bottom:.75rem}form textarea{min-height:70px;resize:vertical}button{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:.55rem 1.25rem;font-size:.9rem;cursor:pointer;font-weight:600}button:hover{background:#1d4ed8}button:disabled{background:#93c5fd;cursor:not-allowed}.error{color:#dc2626;font-size:.85rem;margin-bottom:.75rem}.success{color:#16a34a;font-size:.85rem;margin-bottom:.75rem}.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.tier-card{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#fafafa}.tier-label{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:99px;margin-bottom:.5rem}.tier-budget{background:#d1fae5;color:#065f46}.tier-mid{background:#fef3c7;color:#92400e}.tier-premium{background:#ede9fe;color:#4c1d95}.star-row{display:flex;align-items:center;gap:.5rem;margin-bottom:4px;font-size:.85rem}.star-bar-bg{flex:1;background:#e5e7eb;border-radius:99px;height:8px;overflow:hidden}.star-bar-fill{height:100%;background:#f59e0b;border-radius:99px;transition:width .3s}.star-count{min-width:1.5rem;text-align:right;color:#888;font-size:.8rem}.avg{font-size:1.1rem;font-weight:700;color:#2563eb;margin-top:.5rem}.total{font-size:.78rem;color:#888}.overall-card{border-top:2px solid #2563eb;margin-top:1rem;padding-top:1rem}.product-select-row{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.product-select-row input{flex:1;margin-bottom:0}
