*{margin:0;padding:0;box-sizing:border-box}body{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;background-color:#f5f5f5;color:#333}.App{min-height:100vh;display:flex;flex-direction:column}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-container{max-width:600px;margin:0 auto;padding:2rem;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem}.auth-header p{color:#7f8c8d;font-size:1.1rem}.auth-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.auth-options{text-align:center}.auth-options h2{color:#2c3e50;margin-bottom:1rem}.auth-options p{color:#7f8c8d;margin-bottom:2rem}.auth-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.auth-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.signin-btn{background-color:#3498db;color:#fff}.signin-btn:hover{background-color:#2980b9}.signup-btn{background-color:#27ae60;color:#fff}.signup-btn:hover{background-color:#229954}.signin-form,.signup-form{max-width:400px;margin:0 auto}.signin-form h2,.signup-form h2{text-align:center;color:#2c3e50;margin-bottom:1.5rem}.form-section{margin-bottom:2rem}.form-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.2rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{background-color:#fee;color:#c53030;padding:12px;border-radius:8px;margin-bottom:1rem;border:1px solid #fed7d7}.oauth-section{margin-top:2rem;text-align:center}.oauth-section p{color:#7f8c8d;margin-bottom:1rem}.oauth-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.oauth-btn{padding:8px 16px;border:2px solid #e1e8ed;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.oauth-btn:hover{border-color:#3498db;background-color:#f8f9fa}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.form-links{margin-top:1.5rem;text-align:center}.form-links a{color:#3498db;text-decoration:none;margin:0 .5rem}.form-links a:hover{text-decoration:underline}.separator{color:#7f8c8d}.vendor-setup-container{max-width:600px;margin:0 auto;padding:2rem;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.vendor-setup-header{text-align:center;margin-bottom:2rem}.vendor-setup-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem}.vendor-setup-header p{color:#7f8c8d;font-size:1.1rem}.vendor-setup-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.auth-status{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:.9rem}.auth-status.error{background-color:#fee;border:1px solid #fed7d7}.auth-status.authenticated{background-color:#f0fff4;border:1px solid #c6f6d5}.auth-status .user-info{flex:1}.auth-status .email{font-weight:600;color:#2c3e50}.auth-status .vendor-info{margin-top:.25rem}.auth-status .vendor-name{font-weight:600;color:#27ae60}.auth-status .vendor-category{font-size:.8rem;color:#7f8c8d}.auth-status .no-vendor{display:flex;align-items:center;gap:.5rem;color:#e74c3c}.auth-status .create-vendor-link{color:#3498db;text-decoration:none;font-size:.8rem}.auth-status .create-vendor-link:hover{text-decoration:underline}.auth-status .actions{display:flex;gap:.5rem}.auth-status .signout-btn{padding:4px 8px;border:1px solid #e74c3c;background:#fff;color:#e74c3c;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.auth-status .signout-btn:hover{background:#e74c3c;color:#fff}.auth-status .clear-error{padding:4px 8px;border:1px solid #7f8c8d;background:#fff;color:#7f8c8d;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s ease}.auth-status .clear-error:hover{background:#7f8c8d;color:#fff}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;box-shadow:0 2px 4px #0000001a}.header-actions{display:flex;align-items:center;gap:1rem}@media (max-width: 768px){.auth-container,.vendor-setup-container{padding:1rem}.auth-content,.vendor-setup-content{padding:1.5rem}.auth-header h1,.vendor-setup-header h1{font-size:2rem}.auth-buttons{flex-direction:column;align-items:center}.auth-btn{width:100%;max-width:200px}.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.header-actions{width:100%;justify-content:space-between}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}
