.shifts-container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* My Signups section - now at the top */ .my-signups { margin-bottom: 40px; padding-bottom: 30px; border-bottom: 1px solid #e0e0e0; } .my-signups h2 { margin-bottom: 20px; color: var(--dark-color); } .signup-item { background: white; border: 1px solid #e0e0e0; border-radius: var(--border-radius); padding: 15px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; } .signup-item h4 { margin: 0 0 5px 0; } .signup-item p { margin: 0; color: var(--secondary-color); } /* Filters section */ .shifts-filters { margin-bottom: 30px; } .shifts-filters h2 { margin-bottom: 15px; color: var(--dark-color); } .filter-group { display: flex; gap: 10px; align-items: center; margin-top: 10px; } .filter-group input { padding: 8px 12px; border: 1px solid #ddd; border-radius: var(--border-radius); } /* Desktop: 3 columns layout */ .shifts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; } .shift-card { background: white; border: 1px solid #e0e0e0; border-radius: var(--border-radius); padding: 20px; transition: var(--transition); } .shift-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); } .shift-card.full { opacity: 0.7; } .shift-card.signed-up { border-color: var(--success-color); background-color: #f0f9ff; } .shift-card h3 { margin: 0 0 15px 0; color: var(--dark-color); } .shift-details { margin-bottom: 15px; } .shift-details p { margin: 5px 0; color: var(--secondary-color); } .shift-description { margin: 15px 0; color: var(--dark-color); } .shift-actions { margin-top: 15px; } .no-shifts { text-align: center; color: var(--secondary-color); padding: 40px; grid-column: 1 / -1; /* Span all columns */ } /* Tablet: 2 columns */ @media (max-width: 1024px) and (min-width: 769px) { .shifts-grid { grid-template-columns: repeat(2, 1fr); } } /* Mobile: 1 column */ @media (max-width: 768px) { .shifts-container { padding: 15px; } .shifts-grid { grid-template-columns: 1fr; gap: 15px; } .signup-item { flex-direction: column; align-items: flex-start; gap: 10px; } .shift-card { padding: 15px; } .my-signups { margin-bottom: 30px; padding-bottom: 20px; } .shifts-filters { margin-bottom: 20px; } .filter-group { flex-wrap: wrap; } }