/* Calendar container */ .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; margin: 20px 0; } /* Each day cell */ .day-cell { border: 1px solid #ccc; border-radius: 8px; padding: 10px; text-align: center; background-color: #f9f9f9; } /* Day number */ .day-cell > div:first-child { font-weight: bold; margin-bottom: 5px; } /* Shift buttons container */ .shifts { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; } /* Individual shift buttons */ .shift-button { border: 1px solid #888; border-radius: 5px; padding: 5px 8px; background-color: white; cursor: pointer; font-size: 18px; transition: all 0.2s ease; } .shift-button:hover { background-color: #e0e0e0; } /* Selected shift */ .shift-button.selected { background-color: #007bff; color: white; border-color: #0056b3; } /* Export button */ .btn.export-btn { margin: 5px; padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #ADD8E6; /* Light blue */ color: #333; border: 2px solid #87CEEB; /* Slightly darker blue border */ border-radius: 5px; transition: background-color 0.2s ease; } .btn.export-btn:hover { background-color: #87CEEB; border-color: #4682B4; } /* Reset button */ .reset-btn { margin: 5px; padding: 10px 20px; font-size: 16px; cursor: pointer; background-color: #FFB6C1; /* Light red/pink */ color: #333; border: 2px solid #FF91A4; /* Slightly darker red border */ border-radius: 5px; transition: background-color 0.2s ease; } .reset-btn:hover { background-color: #FF91A4; border-color: #FF69B4; } /* Reset section - separate from export buttons */ .reset-section { margin: 30px 0 20px 0; text-align: center; } /* Export buttons section */ .export-buttons { margin: 20px 0; text-align: center; } /* Tooltip container */ .tooltip-wrapper { position: relative; display: inline-block; } /* Tooltip text */ .tooltip { visibility: hidden; background-color: #333; color: #fff; text-align: center; padding: 4px 8px; border-radius: 6px; font-size: 0.85rem; position: absolute; z-index: 1; bottom: 125%; /* Position above the button */ left: 50%; transform: translateX(-50%); opacity: 0; transition: opacity 0.2s ease-in-out; white-space: nowrap; } /* Tooltip arrow */ .tooltip::after { content: ""; position: absolute; top: 100%; /* Arrow at the bottom of tooltip */ left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #333 transparent transparent transparent; } /* Show tooltip on hover */ .tooltip-wrapper:hover .tooltip { visibility: visible; opacity: 1; } /* Transport information styling */ .transport-info { margin-top: 8px; padding: 4px; background-color: #e8f4fd; border-radius: 4px; font-size: 0.75rem; color: #2c5aa0; word-wrap: break-word; min-height: 20px; } /* Loading spinner */ .loading-spinner { animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }