:root{font-family: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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #4a90e2;--danger-color: #e74c3c;--success-color: #2ecc71;--bg-color: #f5f7fa;--card-bg: #ffffff;--text-primary: #2c3e50;--text-secondary: #7f8c8d;--border-radius: 8px;--shadow: 0 2px 4px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6}.app-container{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:40px;padding:20px 0}.header h1{font-size:2.5rem;color:var(--text-primary)}.main-content{display:grid;grid-template-columns:1fr;gap:30px}@media(min-width:768px){.main-content{grid-template-columns:350px 1fr;align-items:start}}.card{background:var(--card-bg);border-radius:var(--border-radius);padding:25px;box-shadow:var(--shadow)}.card h2{margin-bottom:20px;font-size:1.25rem;color:var(--text-primary);border-bottom:2px solid var(--bg-color);padding-bottom:10px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:var(--border-radius);font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--primary-color)}.btn-primary{width:100%;padding:12px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;cursor:pointer;transition:background-color .3s}.btn-primary:hover{background-color:#357abd}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.btn-icon{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--primary-color);transition:transform .3s}.btn-icon:hover{transform:rotate(180deg)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.product-card{background:var(--bg-color);padding:15px;border-radius:var(--border-radius);display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s}.product-card:hover{transform:translateY(-2px)}.product-info h3{font-size:1.1rem;margin-bottom:8px}.price{font-size:1.25rem;color:var(--primary-color);font-weight:700;margin-bottom:15px}.btn-danger{padding:8px 16px;background-color:#fff;color:var(--danger-color);border:1px solid var(--danger-color);border-radius:4px;cursor:pointer;transition:all .3s}.btn-danger:hover{background-color:var(--danger-color);color:#fff}.spinner{width:40px;height:40px;margin:20px auto;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast{position:fixed;top:20px;right:20px;padding:15px 25px;border-radius:var(--border-radius);color:#fff;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;z-index:1000}.toast.success{background-color:var(--success-color)}.toast.error{background-color:var(--danger-color)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.empty-state{text-align:center;color:var(--text-secondary);padding:40px}
