.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; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; } .no-shifts { text-align: center; color: var(--secondary-color); padding: 40px; grid-column: 1 / -1; /* Span all columns */ } /* Calendar dropdown styles */ .calendar-dropdown { position: relative; display: inline-block; } .calendar-toggle { cursor: pointer; position: relative; } .calendar-options { position: absolute; top: 100%; left: 0; min-width: 180px; background: white; border: 1px solid #e0e0e0; border-radius: var(--border-radius); box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 1000; margin-top: 4px; } .calendar-option { display: flex; align-items: center; gap: 8px; padding: 10px 15px; text-decoration: none; color: var(--dark-color); transition: var(--transition); border-bottom: 1px solid #f0f0f0; } .calendar-option:last-child { border-bottom: none; } .calendar-option:hover { background-color: #f5f5f5; } .calendar-option img { width: 16px; height: 16px; } /* Ensure dropdowns appear above other elements */ .shift-card { position: relative; } /* Update signup actions for My Shifts section */ .signup-actions { display: flex; gap: 10px; align-items: center; } /* Mobile adjustments */ @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; } .signup-actions { width: 100%; justify-content: flex-start; } .shift-actions { flex-direction: column; width: 100%; } .shift-actions .btn, .calendar-dropdown { width: 100%; } .calendar-toggle { width: 100%; justify-content: center; } .calendar-options { left: 0; right: 0; width: 100%; } .my-signups { margin-bottom: 30px; padding-bottom: 20px; } .shifts-filters { margin-bottom: 20px; } .filter-group { flex-wrap: wrap; } } /* Prevent dropdown from being cut off */ .shifts-grid { overflow: visible; } .shift-card { overflow: visible; }