@import"https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;700&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#e0ffff;color:#333}:root body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#e0ffff;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar-list{display:flex;align-items:center;list-style:none;padding:0;margin:0;width:100%}.navbar-list li{margin-right:1rem}.navbar-list a{text-decoration:none;color:#fff;font-weight:500}.navbar-list a:hover{text-decoration:underline;color:#e0e0e0}.navbar-welcome{margin-left:auto;margin-right:1rem;font-style:italic;color:#f0f0f0}.navbar-logout{cursor:pointer}.navbar-dropdown-parent{position:relative}.navbar-dropdown{visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s linear;position:absolute;top:100%;left:0;background-color:transparent;list-style:none;padding:0;margin:0;min-width:180px;border-radius:4px;box-shadow:none;z-index:1001}.navbar-dropdown-parent:hover .navbar-dropdown{visibility:visible;opacity:1;transition-delay:0s}.navbar-dropdown li{margin:0}.navbar-dropdown a,.navbar-dropdown button{display:block;padding:10px 15px;color:#fff;text-decoration:none;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:1rem}.navbar-dropdown a:hover,.navbar-dropdown button:hover{background-color:#ffffff1a}.navbar-dropdown-parent>span{color:#fff;font-weight:500;display:block;padding:.5rem 0;cursor:default;text-decoration:none}.app-header{position:relative;width:100%;height:20vh;overflow:hidden;background-color:#333}.header-video{width:100%;height:100%;object-fit:cover;object-position:center;position:relative;top:0;left:0;z-index:1}.header-navbar{position:fixed;top:0;width:100%;z-index:1000;background-color:#0009;padding:.5rem 0}.banner-text{font-family:Josefin Sans,sans-serif;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:3.5em;line-height:1.2;text-align:center;width:80%;z-index:200;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.main-content{padding-top:5rem}.motd-container{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:4px;padding:1rem;margin-bottom:2rem}.notifications-container{background-color:#eef2fa;border:1px solid #d0d8e8;border-radius:4px;padding:1rem;margin-bottom:2rem}.notifications-container h3{margin-top:0}.notifications-container ul{list-style:none;padding:0;margin:0}.notifications-container li{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #d0d8e8}.notifications-container li:last-child{border-bottom:none}.notifications-container button{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#999}.notifications-container button:hover{color:#333}.form-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.form-card{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px #0000001a;width:100%;max-width:400px}.form-card h2{text-align:center;margin-top:0;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.form-button{width:100%;padding:.75rem;border:none;border-radius:4px;background-color:#007bff;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s}.form-button:hover{background-color:#0056b3}.bookings-sticky-header{position:sticky;top:20vh;margin-top:-5rem;background-color:#fafad2;padding:1rem;margin-bottom:1rem;border-bottom:1px solid #ccc;z-index:999}.bookings-sticky-header h2{margin-top:0;margin-bottom:.5rem}.bookings-sticky-header p{margin-top:0;margin-bottom:1rem}.instructions-box{background-color:#fafad2;padding:1rem;border-radius:8px;flex-shrink:0;font-size:.9em}.calendar-controls{text-align:center;margin:1rem 0}.year-display{margin:0 1rem;font-size:1.5em;font-weight:700}.calendar-grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:10px}.month-container{border:1px solid #ddd;border-radius:4px}.month-header{text-align:center;font-weight:700;padding:.5rem;background-color:#f7f7f7}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#ddd}.day-header{font-weight:700;text-align:center;background-color:#f0f0f0;padding:2px;font-size:.8em}.day-cell{background-color:#fff;padding:4px;font-size:.9em;position:relative;min-height:40px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.booking-status-icon{position:absolute;bottom:2px;right:4px;font-size:1.2em;font-weight:700;cursor:help}.day-cell.not-current-month{color:#ccc;background-color:#f9f9f9}.day-cell.bookable{cursor:pointer}.day-cell.bookable:hover{outline:2px solid #007bff}.day-cell.pending,.day-cell.confirmed,.day-cell.cancellation_pending{cursor:help}.day-cell.pending:after,.day-cell.confirmed:after,.day-cell.cancellation_pending:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid}.day-cell.confirmed:after{border-width:0 12px 12px 0;border-color:transparent #28a745 transparent transparent}.day-cell.pending:after{border-width:0 12px 12px 0;border-color:transparent #ffa500 transparent transparent}.day-cell.cancellation_pending:after{border-width:0 12px 12px 0;border-color:transparent #dc3545 transparent transparent}.day-cell.selection-start,.day-cell.selection-end{background-color:#007bff!important;color:#fff;border-radius:50%}.day-cell.selection-mid{background-color:#dbeafe!important;color:#333}.selection-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;font-size:.7em;line-height:1.1;color:#fff;font-weight:700;padding:2px;box-sizing:border-box;width:100%}.day-cell.selection-start .day-number,.day-cell.selection-end .day-number{display:none}@media(max-width:768px){.bookings-sticky-header{padding:.5rem;top:50px;margin-top:-1rem}.header-title-column h2{font-size:1rem;margin-bottom:0;text-align:center}.header-instructions-column,.header-bookings-list-column{display:none!important}.bookings-sticky-header>div{display:block!important}.header-title-column{min-width:0!important;flex:none!important;width:100%}.header-action-area{margin:.5rem 0!important;display:flex;flex-direction:column;gap:.5rem}.header-action-area button{width:100%;margin-left:0!important;padding:8px}}
