*{box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s ease}button:focus,button:focus-visible{outline:2px solid #646cff;outline-offset:2px}.submit-button,.vote-button,.retry-button{border:none;outline:none}.submit-button:focus,.vote-button:focus,.retry-button:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.submission-form{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem;border-radius:15px;box-shadow:0 10px 30px #0003;color:#fff;margin-bottom:2rem}.submission-form h2{margin:0 0 1rem;font-size:2rem;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.form-description{text-align:center;margin-bottom:2rem;font-size:1.1rem;opacity:.9;line-height:1.5}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:1.1rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:none;border-radius:8px;font-size:1rem;background:rgba(255,255,255,.9);color:#333;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;background:white;box-shadow:0 0 0 3px #ffffff4d;transform:translateY(-2px)}.form-group textarea{resize:vertical;min-height:100px}.char-count{text-align:right;font-size:.9rem;margin-top:.25rem;opacity:.8}.error-message{background:rgba(255,0,0,.2);border:1px solid rgba(255,0,0,.5);color:#fcc;padding:.75rem;border-radius:8px;margin-bottom:1rem;text-align:center}.submit-button{width:100%;padding:1rem;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0000004d;background:linear-gradient(135deg,#ff5252,#d63031)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.submission-form{padding:1.5rem;margin:1rem}.submission-form h2{font-size:1.5rem}.form-description{font-size:1rem}}.submissions-list{margin-top:2rem}.submissions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.submissions-list h2{color:#333;font-size:2rem;margin:0}.pagination-controls{display:flex;align-items:center;gap:1rem}.items-per-page{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.items-per-page-select{padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:white;cursor:pointer}.items-per-page-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.loading,.empty-state{text-align:center;padding:3rem;color:#666;font-size:1.2rem}.error-message{background:#ffebee;border:1px solid #f44336;color:#c62828;padding:1rem;border-radius:8px;text-align:center;margin-bottom:1rem}.retry-button{background:#2196f3;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .3s ease}.retry-button:hover{background:#1976d2}.submissions-table-container{background:white;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;margin:0 1rem}.submissions-table{width:100%;border-collapse:collapse;font-size:.95rem}.submissions-table th{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.submissions-table th:first-child{width:40%}.submissions-table th:nth-child(2){width:15%}.submissions-table th:nth-child(3){width:15%}.submissions-table th:nth-child(4){width:15%}.submissions-table th:nth-child(5){width:15%}.submission-row{transition:all .3s ease;border-bottom:1px solid #f0f0f0}.submission-row:hover{background:#f8f9fa}.submission-row:last-child{border-bottom:none}.submissions-table td{padding:1.25rem 1rem;vertical-align:top}.idea-cell{max-width:0;width:50%}.idea-content{line-height:1.6;color:#444;word-wrap:break-word;overflow-wrap:break-word;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.submitter-cell{width:20%}.submitter-name{font-weight:600;color:#333;font-size:.95rem}.date-cell{width:15%}.submission-date{font-size:.85rem;color:#666;white-space:nowrap}.vote-cell{width:15%;text-align:center}.vote-badge{padding:.25rem .6rem;border-radius:16px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.vote-badge.hot{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;box-shadow:0 2px 4px #ff6b6b4d;animation:pulse 2s infinite}.vote-badge.popular{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 2px 4px #4ecdc44d}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.submission-content{margin:1rem 0}.submission-content p{margin:0;line-height:1.6;color:#444;font-size:1rem}.vote-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:.4rem;min-width:80px;justify-content:center}.vote-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);transform:scale(1.05)}.vote-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.vote-button.voting{background:linear-gradient(135deg,#ff9800,#f57c00)}.vote-button.voted{background:linear-gradient(135deg,#9e9e9e,#757575);cursor:not-allowed}.vote-button.voted:hover{background:linear-gradient(135deg,#9e9e9e,#757575);transform:none}@media (max-width: 768px){.submissions-table-container{margin:0;border-radius:8px}.submissions-list h2{font-size:1.5rem;margin:1rem}.submissions-table{font-size:.85rem}.submissions-table th,.submissions-table td{padding:.75rem .5rem}.submissions-table th{font-size:.8rem}@media (max-width: 600px){.submissions-table-container{margin:0 .5rem}.submissions-table,.submissions-table thead,.submissions-table tbody,.submissions-table th,.submissions-table td,.submissions-table tr{display:block;width:100%}.submissions-table thead tr{position:absolute;top:-9999px;left:-9999px}.submission-row{background:white;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:1rem;padding:1rem;box-shadow:0 2px 8px #0000001a}.submissions-table td{border:none;padding:.75rem 0;position:relative;padding-left:0;width:100%;max-width:100%;display:flex;flex-direction:column;gap:.25rem}.idea-cell{max-width:100%;width:100%}.submissions-table td:before{content:attr(data-label);font-weight:600;color:#666;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.idea-cell:before{content:"Idea"}.submitter-cell:before{content:"Submitted by"}.date-cell:before{content:"Date"}.status-cell:before{content:"Status"}.vote-cell:before{content:"Votes"}.idea-content{font-size:.95rem;line-height:1.5;margin-top:.25rem;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;width:100%;max-width:100%}.submitter-name{font-size:.9rem}.submission-date{font-size:.85rem;white-space:normal}.vote-cell{text-align:left;margin-top:.5rem}.vote-button{align-self:flex-start}.submissions-header{flex-direction:column;align-items:stretch;gap:1rem}.pagination-controls{justify-content:center}.pagination{flex-direction:column;gap:1rem;text-align:center}.pagination-buttons{justify-content:center}}}.pagination{display:flex;flex-direction:column;align-items:center;margin-top:2rem;padding:1rem 0;gap:1rem}.pagination-buttons{display:flex;align-items:center;gap:.5rem}.pagination-info{font-size:.9rem;color:#666;text-align:center}.pagination-button{background:white;border:1px solid #ddd;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s ease;min-width:45px;height:45px;display:flex;align-items:center;justify-content:center}.pagination-button:hover:not(:disabled){background:#f8f9fa;border-color:#007bff;color:#007bff}.pagination-button:disabled{background:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed;opacity:.6}.page-info{font-size:.9rem;color:#333;font-weight:500;padding:0 1rem;white-space:nowrap}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%)}.app-header{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 15px #0000001a}.app-header h1{margin:0;font-size:3rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-bottom:.5rem}.tagline{font-size:1.2rem;margin:0;opacity:.9;font-style:italic}.dev-notice{margin-top:1rem;padding:.5rem 1rem;background:rgba(255,255,255,.2);border-radius:20px;display:inline-block}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%;box-sizing:border-box}.app-footer{text-align:center;padding:1rem;background:#333;color:#fff;margin-top:auto}.app-footer p{margin:0;opacity:.8}@media (max-width: 768px){.app-header h1{font-size:2rem}.tagline{font-size:1rem}.app-main{padding:1rem}}
