.tombola-card{background:#fff;border-radius:8px;padding:8px;box-shadow:0 2px 4px #0000004d;min-width:280px;max-width:300px;color:#333}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid #667eea}.card-header h3{margin:0;color:#667eea;font-size:.9rem}.winnings{background:#4caf50;color:#fff;padding:3px 10px;border-radius:15px;font-weight:700;font-size:.75rem}.card-grid{display:flex;flex-direction:column;gap:3px}.card-row{display:grid;grid-template-columns:repeat(9,1fr);gap:2px}.card-cell{aspect-ratio:1;border:1.5px solid #ddd;border-radius:3px;display:flex;align-items:center;justify-content:center;position:relative;background:#f9f9f9;transition:all .3s ease}.card-cell.empty{background:transparent;border:none}.card-cell.marked{background:#4caf50;border-color:#2e7d32;animation:markAnimation .5s ease}.card-cell.newly-marked{animation:newlyMarkedAnimation .8s ease;transform:scale(1.1);z-index:10}@keyframes markAnimation{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes newlyMarkedAnimation{0%{transform:scale(1);box-shadow:0 0 #4caf50b3}50%{transform:scale(1.2);box-shadow:0 0 0 10px #4caf5000}to{transform:scale(1.1);box-shadow:0 0 #4caf5000}}.card-cell .number{font-weight:700;font-size:.75rem;color:#333;z-index:1}.card-cell.marked .number{color:#fff}.mark-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.win-badge{background:#ffffffe6;color:#2e7d32;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65rem;border:1.5px solid #2e7d32}.tombola-banner{margin-top:8px;padding:8px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;font-size:1rem;font-weight:700;border-radius:5px;animation:pulse 1s infinite}.user-card{background:#fffffff2;border-radius:8px;padding:10px;margin-bottom:10px;box-shadow:0 2px 4px #0000004d}.user-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid #667eea;flex-wrap:wrap}.user-name-input{flex:1;min-width:120px;padding:6px 10px;border:2px solid #ddd;border-radius:5px;font-size:.95rem;font-weight:700;color:#667eea}.user-name-input:disabled{background:#f0f0f0;cursor:not-allowed}.user-controls{display:flex;align-items:center;gap:10px}.user-controls label{display:flex;align-items:center;gap:5px;font-weight:500;font-size:.85rem}.cards-input{width:50px;padding:5px;border:2px solid #ddd;border-radius:5px;font-size:.85rem}.cards-input:disabled{background:#f0f0f0;cursor:not-allowed}.btn-remove-user{width:28px;height:28px;border:2px solid #f44336;background:#fff;color:#f44336;border-radius:50%;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;padding:0}.btn-remove-user:hover:not(:disabled){background:#f44336;color:#fff;transform:scale(1.1)}.btn-remove-user:disabled{opacity:.5;cursor:not-allowed}.user-total-winnings{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:6px 12px;border-radius:20px;font-weight:700;font-size:.85rem;box-shadow:0 2px 4px #0003}.user-cards-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}.user-wins-display{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.wins-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.win-item{padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:700;color:#fff}.win-item.ambo{background:#4caf50}.win-item.terno{background:#2196f3}.win-item.quaterna{background:#9c27b0}.win-item.cinquina{background:#ff9800}.win-item.tombola{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-controls{background:#fffffff2;border-radius:10px;padding:12px 15px;margin-bottom:15px;box-shadow:0 4px 6px #0000004d;color:#333}.controls-section{margin-bottom:12px}.controls-section:last-child{margin-bottom:0}.controls-section h2{margin-bottom:8px;color:#667eea;font-size:1rem}.section-header-with-info{position:relative;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.section-header-with-info h2{margin-bottom:0}.control-group{margin-bottom:8px}.control-group label{display:flex;flex-direction:column;gap:3px;font-weight:500;font-size:.9rem}.control-group input{padding:5px 8px;border:2px solid #ddd;border-radius:5px;font-size:.9rem;max-width:150px}.control-group input:disabled{background:#f0f0f0;cursor:not-allowed}.info-box{position:absolute;top:0;right:0;max-width:300px;padding:8px 10px;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;font-size:.75rem;line-height:1.3;z-index:10}.info-box p{margin:0;color:#1565c0}.info-box strong{color:#0d47a1}.prices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.prices-grid label{display:flex;flex-direction:column;gap:3px;font-weight:500;font-size:.85rem}.prices-grid input{padding:5px 8px;border:2px solid #ddd;border-radius:5px;font-size:.85rem}.prices-grid input:disabled{background:#f0f0f0;cursor:not-allowed}.limit-status{font-size:.75rem;color:#666;font-weight:400}.button-group{display:flex;gap:10px;margin-bottom:8px}.btn{padding:8px 20px;border:none;border-radius:5px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-start{background:#4caf50;color:#fff}.btn-start:hover:not(:disabled){background:#45a049;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-stop{background:#f44336;color:#fff}.btn-stop:hover:not(:disabled){background:#da190b;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-reset{background:#ff9800;color:#fff}.btn-reset:hover:not(:disabled){background:#e68900;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-summary{background:#9c27b0;color:#fff}.btn-summary:hover:not(:disabled){background:#7b1fa2;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-simulation{background:#00bcd4;color:#fff}.btn-simulation:hover:not(:disabled){background:#0097a7;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.simulation-status{margin-top:8px;padding:12px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;font-size:.85rem;color:#856404}.simulation-status p{margin:0 0 10px}.card-pricing-info{margin-top:10px;padding:10px;background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;font-size:.85rem}.card-pricing-info p{margin:0 0 8px;color:#2e7d32;font-weight:500}.readonly-input{background:#f5f5f5;color:#666;cursor:not-allowed}.loading-bar-container{width:100%;height:8px;background:#ffe69c;border-radius:4px;overflow:hidden}.loading-bar{height:100%;background:linear-gradient(90deg,#ffc107,#ff9800);border-radius:4px;animation:loading 1s linear forwards;width:0%}@keyframes loading{0%{width:0%}to{width:100%}}.game-info{padding-top:8px;border-top:2px solid #eee}.game-info p{margin:3px 0;font-size:.9rem}.users-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.users-count{font-weight:500;font-size:.9rem}.btn-add-user{background:#2196f3;color:#fff;padding:6px 15px;border:none;border-radius:5px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-add-user:hover:not(:disabled){background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-add-user:disabled{opacity:.5;cursor:not-allowed}.users-summary{margin-top:8px;padding-top:8px;border-top:2px solid #eee}.users-summary p{font-size:1rem;font-weight:700;color:#4caf50}.last-number{font-size:1.2rem!important;font-weight:700;color:#667eea;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.game-summary-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.game-summary{background:#fff;border-radius:10px;padding:25px;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;color:#333}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #667eea}.summary-header h2{margin:0;color:#667eea;font-size:1.8rem}.close-button{background:#f44336;color:#fff;border:none;border-radius:50%;width:35px;height:35px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-button:hover{background:#da190b;transform:scale(1.1)}.summary-content{display:flex;flex-direction:column;gap:20px}.summary-stats{padding:15px;background:#f5f5f5;border-radius:5px;text-align:center;font-size:1.1rem;font-weight:700}.users-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.user-result{background:#f9f9f9;border-radius:8px;padding:15px;border:2px solid #ddd}.user-result h3{margin:0 0 15px;color:#667eea;font-size:1.2rem;text-align:center}.result-wins{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.result-win-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:5px;background:#fff}.result-win-item.tombola{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;font-weight:700;justify-content:center}.win-label{font-weight:500;color:#333}.result-win-item.tombola .win-label{color:#fff}.win-count{background:#667eea;color:#fff;padding:2px 10px;border-radius:15px;font-weight:700;font-size:.9rem}.result-winnings{padding-top:15px;border-top:2px solid #ddd;text-align:center;font-size:1.1rem;font-weight:700;color:#4caf50}.simulation-results{max-width:1000px}.simulation-summary h3{margin:0 0 20px;color:#667eea;font-size:1.4rem;text-align:center}.win-count.profit{background:#4caf50;color:#fff}.win-count.loss{background:#f44336;color:#fff}.app{text-align:center;color:#fff}.app h1{margin-bottom:15px;font-size:1.8rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.users-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-top:15px}*{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:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:10px;overflow-x:hidden}#root{max-width:100%;margin:0 auto}
