*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}button{font-family:inherit;cursor:pointer}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Work Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:#f5f7fa}input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:#0d9488!important;box-shadow:0 0 0 3px #0d94881a}button{font-family:inherit;cursor:pointer;transition:all .2s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}.pro-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.pro-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000014}.match-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.match-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#0d9488}.vendor-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 18px;margin-bottom:8px;transition:all .2s ease}.vendor-card.best-price{border:2px solid #10b981;background:linear-gradient(135deg,#10b9810d,#10b98105)}.vendor-card:hover{box-shadow:0 2px 8px #00000014}.price-tag{font-family:Source Code Pro,monospace;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:28px;width:100%;max-width:500px;margin:20px;box-shadow:0 20px 60px #0000004d}.modal-large{max-width:700px;max-height:85vh;overflow-y:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tour-overlay{position:fixed;inset:0;background:#000000bf;z-index:9999;animation:fadeIn .3s ease}.tour-spotlight{position:absolute;border:3px solid #10b981;border-radius:12px;box-shadow:0 0 0 9999px #000000bf,0 0 30px #10b98180;animation:pulse 2s infinite;z-index:10000;transition:all .3s ease}.tour-tooltip{position:absolute;background:#fff;border-radius:12px;padding:24px;max-width:350px;box-shadow:0 10px 40px #0000004d;z-index:10001;animation:slideUp .4s ease}.tour-tooltip-arrow{position:absolute;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid white}@keyframes pulse{0%,to{box-shadow:0 0 0 9999px #000000bf,0 0 30px #10b98180}50%{box-shadow:0 0 0 9999px #000000bf,0 0 50px #10b981cc}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;height:16px;border-radius:4px}.progress-bar-container{height:8px;background:#0000000d;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#14b8a6);transition:width .3s ease;border-radius:4px}.file-drop-zone{border:2px dashed rgba(13,148,136,.3);border-radius:12px;padding:40px 20px;text-align:center;background:#0d948805;transition:all .3s ease;cursor:pointer}.file-drop-zone:hover{border-color:#0d948880;background:#0d94880d}.file-drop-zone.drag-over{border-color:#10b981;background:#10b9811a}.badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fed7aa;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-purple{background:#e9d5ff;color:#6b21a8}
