*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;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}body{color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh}.header{text-align:center;margin-bottom:3rem;color:white}.header h1{font-size:2.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.header p{font-size:1.2rem;opacity:.9}.form{background:white;padding:2rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#555}.input-group input{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.input-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.submit-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.4)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error{background:#fee;color:#c33;padding:1rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid #c33}.results{background:white;padding:2rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.results h2{margin-bottom:1.5rem;color:#333;text-align:center}.table-container{overflow-x:auto}.recommendations-table{width:100%;border-collapse:collapse;margin-top:1rem}.recommendations-table td,.recommendations-table th{padding:.75rem;text-align:left;border-bottom:1px solid #e1e5e9}.recommendations-table th{background:#f8f9fa;font-weight:600;color:#555;position:-webkit-sticky;position:sticky;top:0}.recommendations-table tr:hover{background:#f8f9fa}.gain{color:#28a745;font-weight:600}@media (max-width:768px){.container{padding:1rem}.header h1{font-size:2rem}.form{padding:1.5rem}.recommendations-table{font-size:.9rem}.recommendations-table td,.recommendations-table th{padding:.5rem}}