.events-container{width:100%;max-width:none;margin:0 auto}.events-controls{justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 1rem;display:flex}.view-toggle{background-color:#f1f5f9;border-radius:8px;gap:2px;padding:4px;display:flex}.view-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.view-toggle-btn.active{color:#1e293b;background-color:#fff;box-shadow:0 1px 3px #0000001a}.view-icon{width:16px;height:16px}.sort-controls{align-items:center;gap:.5rem;display:flex}.sort-select{color:#1e293b;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:.875rem;transition:all .2s}.sort-select:hover{border-color:#cbd5e1}.sort-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.events-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1rem;width:100%;display:grid}@media (min-width:1280px){.events-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.events-list{flex-direction:column;gap:.5rem;width:100%;display:flex}.event-card{background:#fff;border:1px solid #f1f5f9;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.event-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.event-image-container{width:100%;height:200px;position:relative;overflow:hidden}.event-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.event-card:hover .event-image{transform:scale(1.05)}.event-content{padding:1.5rem}.event-header{margin-bottom:1rem}.event-organizer{color:#64748b;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.event-title{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.event-details{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.event-detail-item{color:#64748b;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.detail-icon{color:#94a3b8;flex-shrink:0;width:16px;height:16px}.register-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background-color:#3b82f6;border:none;border-radius:8px;width:100%;padding:12px 16px;font-size:.875rem;font-weight:600;transition:all .2s}.register-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.register-button:active{transform:translateY(0)}.event-list-item{background:#fff;border:1px solid #f1f5f9;border-radius:12px;min-height:180px;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001a}.event-list-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.event-list-image-container{flex-shrink:0;width:250px;height:180px;position:relative;overflow:hidden}.event-list-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.event-list-item:hover .event-list-image{transform:scale(1.05)}.event-list-content{flex-direction:column;flex:1;justify-content:space-between;min-width:0;padding:1.5rem;display:flex}.event-list-header{flex:1}.event-list-organizer{color:#64748b;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.event-list-title{color:#1e293b;margin:0 0 1rem;font-size:1.25rem;font-weight:600;line-height:1.3}.event-list-register-button{color:#fff;cursor:pointer;text-transform:none;letter-spacing:normal;background-color:#64748b;border:none;border-radius:6px;align-self:flex-start;padding:8px 20px;font-size:.875rem;font-weight:500;transition:all .2s}.event-list-register-button:hover{background-color:#475569;transform:translateY(-1px)}.event-list-details{background-color:#fafafa;border-left:1px solid #f1f5f9;flex-direction:column;justify-content:center;gap:1rem;min-width:200px;padding:1.5rem;display:flex}.event-list-detail-item{color:#64748b;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.list-detail-icon{color:#94a3b8;flex-shrink:0;width:16px;height:16px}.loading-state{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:300px;display:flex}.loading-spinner{border:3px solid #f1f5f9;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;background:#fff;border:2px dashed #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:400px;margin:0 1rem;padding:3rem 1rem;display:flex}.empty-icon{color:#cbd5e1;width:48px;height:48px;margin-bottom:1rem}.empty-state h3{color:#1e293b;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.empty-state p{color:#64748b;margin:0;font-size:.875rem}.error-container{background-color:#fff;border:1px solid #fee2e2;border-radius:12px;justify-content:center;align-items:center;min-height:300px;margin:0 1rem;display:flex}.error-message{text-align:center;padding:2rem}.error-message h3{color:#dc2626;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.error-message p{color:#64748b;font-size:.875rem}.pagination{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:2rem 1rem;display:flex}.pagination-info{color:#64748b;white-space:nowrap;font-size:.875rem}.pagination-controls{align-items:center;gap:.5rem;display:flex}.pagination-btn{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;min-width:40px;padding:8px 12px;font-size:.875rem;font-weight:500;transition:all .2s}.pagination-btn:hover:not(:disabled){color:#fff;background-color:#3b82f6;border-color:#3b82f6}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#f9fafb}.pagination-btn.active{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.page-size-selector{color:#64748b;white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.page-size-select{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:6px 8px;font-size:.875rem;transition:all .2s}.page-size-select:hover{border-color:#3b82f6}.page-size-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}@media (max-width:1024px){.events-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.events-list{gap:1.25rem}.event-content{padding:1.25rem}.event-title,.event-list-title{font-size:1.125rem}.event-list-image-container{width:220px}.event-list-details{min-width:180px}.events-controls{flex-direction:column;align-items:stretch;gap:1rem}.view-toggle{align-self:center}}@media (max-width:768px){.events-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.875rem}.events-list{gap:1rem}.event-list-item{flex-direction:column;min-height:auto}.event-list-image-container{width:100%;height:200px}.event-list-content{padding:1rem}.event-list-title{margin-bottom:.75rem;font-size:1rem}.event-list-details{background-color:#f8fafc;border-top:1px solid #f1f5f9;border-left:none;gap:.75rem;min-width:auto;padding:1rem}.event-list-detail-item{font-size:.8rem}.event-list-register-button{padding:8px 16px;font-size:.8rem}.event-content{padding:1rem}.event-title{font-size:1rem}.event-details{gap:.5rem;margin-bottom:1rem}.event-detail-item{font-size:.8rem}.register-button{padding:10px 12px;font-size:.8rem}.pagination{flex-direction:column;gap:1rem;padding:1.5rem 1rem}.pagination-controls{gap:.25rem}.pagination-btn{min-width:36px;padding:6px 10px;font-size:.8rem}.events-controls{padding:0 .5rem}}@media (max-width:480px){.events-grid{grid-template-columns:1fr;gap:1rem}.events-list{gap:1rem}.event-list-item{flex-direction:column}.event-list-image-container{height:160px}.event-list-content{padding:.875rem}.event-list-title{margin-bottom:.5rem;font-size:.95rem;line-height:1.2}.event-list-organizer{font-size:.8rem}.event-list-details{gap:.5rem;padding:.875rem}.event-list-detail-item{font-size:.75rem}.list-detail-icon{width:14px;height:14px}.event-list-register-button{padding:6px 12px;font-size:.75rem}.event-image-container{height:160px}.event-content{padding:.875rem}.event-title{font-size:.95rem;line-height:1.2}.event-organizer{font-size:.8rem}.event-detail-item{font-size:.75rem}.detail-icon{width:14px;height:14px}.register-button{padding:8px 10px;font-size:.75rem}.pagination{padding:1rem .5rem}.pagination-info,.page-size-selector{font-size:.75rem}.pagination-btn{min-width:32px;padding:5px 8px;font-size:.75rem}.events-controls{margin-bottom:1.5rem;padding:0 .5rem}.view-toggle-btn{padding:6px 12px;font-size:.8rem}.sort-select{padding:6px 8px;font-size:.8rem}.empty-state{min-height:300px;margin:0 .5rem;padding:2rem 1rem}.empty-state h3{font-size:1.125rem}.empty-state p{font-size:.8rem}}
