*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f7fa}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h1{margin-bottom:.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.btn{width:100%;padding:.875rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem}.success-message{background:#efe;color:#3c3;padding:.75rem;border-radius:6px;margin-bottom:1rem}.dashboard{display:flex;min-height:100vh}.sidebar{width:250px;background:#2c3e50;color:#fff;padding:1.5rem 0;display:flex;flex-direction:column}.sidebar-header{padding:0 1.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-nav{flex:1;padding:1.5rem 0}.sidebar-nav a{display:block;padding:.875rem 1.5rem;color:#fffc;text-decoration:none}.sidebar-nav a:hover,.sidebar-nav a.active{background:#ffffff1a;color:#fff}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.logout-btn{width:100%;padding:.75rem;background:#ffffff1a;border:none;color:#fff;border-radius:6px;cursor:pointer}.logout-btn:hover{background:#fff3}.main-content{flex:1;padding:2rem}.page-header h1{font-size:2rem;margin-bottom:.5rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin:2rem 0}.metric-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000000d}.metric-card h3{font-size:.875rem;color:#666;margin-bottom:.5rem;text-transform:uppercase}.metric-card .value{font-size:2rem;font-weight:700;color:#333}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f9fafb}th{padding:1rem;text-align:left;font-weight:600;color:#666;font-size:.875rem}td{padding:1rem;border-top:1px solid #f3f4f6}tr:hover{background:#f9fafb}.price-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.price-badge.cheapest{background:#d1fae5;color:#065f46}.price-badge.most_expensive{background:#fee2e2;color:#991b1b}.price-badge.competitive{background:#dbeafe;color:#1e40af}.price-badge.below_average{background:#e0e7ff;color:#3730a3}.price-badge.above_average{background:#fef3c7;color:#92400e}.price-badge.only_shop{background:#f3f4f6;color:#6b7280}.loading{display:flex;justify-content:center;padding:3rem}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
