*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#022b0c;background:#0e8888;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}#root{min-height:100vh}main{width:100%}.calendar-page,.employee-select-page,.history-page,.manager-page{min-height:100vh;padding:32px}.calendar-page,.history-page,.manager-page{max-width:1400px;margin:0 auto}.page-header{border-bottom:1px solid #dfe4e8;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;padding-bottom:24px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px;font-weight:700;line-height:1.2}.page-header p{color:#fff;margin:5px 0;font-size:14px}.page-navigation{flex-shrink:0;align-items:center;gap:10px;display:flex}button{color:#f7f5f3;background:#1f5f8b;border:0;border-radius:8px;padding:10px 16px;font-weight:600;transition:background .25s,transform .115s,box-shadow .66s}button:hover:not(:disabled){background:#bb8002}button:active:not(:disabled){transform:translateY(8px)}button:disabled{opacity:.55}.page-navigation button,.calendar-navigation button{color:#26323d;background:#cfcece;border:1px solid #6b6b6b}.page-navigation button:hover:not(:disabled),.calendar-navigation button:hover:not(:disabled){background:#df9800;border-color:#bfc8d0}.page-navigation .rooms-navigation-button{color:#fff;background:#1f5f8b;border:1px solid #164766}.page-navigation .rooms-navigation-button:hover:not(:disabled){background:#bb8002;border-color:#996900}.employee-select-page{background:linear-gradient(135deg,#eef3f7 0%,#f8fafb 100%);justify-content:center;align-items:center;padding:24px;display:flex}.employee-select-card{background:#fff;border:1px solid #e0e5e9;border-radius:16px;width:min(100%,440px);padding:40px;box-shadow:0 18px 45px #1b2b3814}.employee-select-card h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px}.employee-select-card h2{margin:28px 0 8px;font-size:21px}.employee-select-card p{color:#697580;margin:0 0 24px;line-height:1.5}.employee-select-card form{flex-direction:column;gap:10px;display:flex}.employee-select-card label{color:#35414c;font-size:14px;font-weight:600}.employee-select-card select{color:#17202a;background:#fff;border:1px solid #cbd3da;border-radius:8px;outline:none;width:100%;padding:12px 14px}.employee-select-card select:focus{border-color:#1f5f8b;box-shadow:0 0 0 3px #1f5f8b1f}.employee-select-card button{width:100%;margin-top:8px}.error-message{color:#a52b2b;background:#fff1f1;border:1px solid #efb5b5;border-radius:8px;margin:0 0 20px;padding:12px 15px;font-size:14px}.calendar-section{background:#fff;border:1px solid #dfe4e8;border-radius:14px;padding:24px;box-shadow:0 5px 18px #1b2b380a}.calendar-navigation{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.calendar-navigation h2{text-align:center;margin:0;font-size:22px;font-weight:700}.calendar{width:100%}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:8px;display:grid}.calendar-weekdays div{color:#697580;text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:10px 8px;font-size:12px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-day{background:#fff;border:1px solid #dfe4e8;border-radius:9px;min-height:125px;padding:10px;transition:border-color .15s,box-shadow .15s,background .15s;position:relative}.calendar-day:not(.weekend):not(.bank-holiday):not(.past):hover{border-color:#8eafc5;box-shadow:0 3px 10px #1f5f8b14}.calendar-day.empty{background:0 0;border:0;min-height:125px}.calendar-day.weekend,.calendar-day.bank-holiday,.calendar-day.past{color:#8a949d;background:#eef1f3}.calendar-day-header{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.calendar-date{justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:inline-flex}.bank-holiday-label{color:#e0a500;text-align:right;max-width:90px;font-size:10px;line-height:1.2}.calendar-day-bookings{flex-direction:column;gap:5px;margin-top:8px;display:flex}.booking-indicator{border-radius:6px;flex-direction:column;gap:2px;padding:7px 8px;font-size:11px;font-weight:600;line-height:1.25;display:flex;overflow:hidden}.booking-indicator span:first-child{text-overflow:ellipsis;overflow:hidden}.booking-indicator span:last-child{opacity:.8;font-size:10px;font-weight:500}.book-day-button{color:#31566f;background:#fff;border:1px solid #cbd3da;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:700;position:absolute;bottom:8px;right:8px}.book-day-button:hover{background:#edf4f8;border-color:#8eafc5}.booking-standard,.booking-allowed{color:#246238;background:#e8f5eb;border-color:#b9ddc1}.booking-exceptional-rule-breaker,.booking-exceptional,.booking-evaluation-yellow{color:#765900;background:#fff4cc;border-color:#ead48a}.booking-rule-breaker,.booking-evaluation-red{color:#922b2b;background:#fde8e8;border-color:#e8b8b8}.booking-rejected{color:#6e5b5b;background:#f1eeee;border-color:#d7cccc}.booking-details{background:#fff;border:1px solid #dfe4e8;border-radius:14px;margin-top:24px;padding:22px 24px;box-shadow:0 5px 18px #1b2b380a}.booking-details-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.booking-details-header h2{margin:0 0 5px;font-size:19px}.booking-details-header p{color:#697580;margin:0;font-size:14px}.booking-details-list{flex-direction:column;gap:8px;display:flex}.booking-details-item{background:#f8f9fa;border-left:4px solid;border-radius:7px;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.booking-details-item>div:last-child{text-align:right}.booking-details-item strong{font-size:14px}.booking-details-item p{margin:4px 0 0;font-size:13px}.booking-details-item>div:last-child p{margin:2px 0}.history-page .page-header{align-items:center}.booking-list{flex-direction:column;gap:10px;display:flex}.booking-list-item{background:#fff;border:1px solid #e0e5e9;border-left:5px solid;border-radius:9px;grid-template-columns:150px minmax(0,1fr) minmax(220px,280px);gap:24px;padding:18px 20px;display:grid;box-shadow:0 3px 12px #1b2b3809}.booking-list-date{flex-direction:column;gap:5px;display:flex}.booking-list-date strong{font-size:15px}.booking-list-details,.booking-list-status{flex-direction:column;gap:4px;display:flex}.booking-list-item p{color:#586570;margin:0;font-size:13px;line-height:1.45}.booking-list-item p strong{color:#27343e}.booking-list-status{border-left:1px solid #e1e5e8;padding-left:20px}.booking-modal-overlay{z-index:1000;background:#141d258c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:14px;flex-direction:column;width:min(100%,560px);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0003}.booking-modal-header{border-bottom:1px solid #e0e5e9;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.booking-modal-header h2{margin:0;font-size:20px}.booking-modal-header button{color:#45515c;background:#f0f2f4;border-radius:50%;width:36px;height:36px;padding:0;font-size:23px;line-height:1}.booking-modal-header button:hover{background:#e2e6e9}.booking-modal-body{flex-direction:column;gap:10px;padding:24px;display:flex;overflow-y:auto}.booking-modal-body>p{color:#56636e;margin:0 0 6px;font-size:14px}.booking-modal-body label{color:#303c46;margin-top:4px;font-size:13px;font-weight:700}.booking-modal-body select{color:#17202a;background:#fff;border:1px solid #cbd3da;border-radius:8px;outline:none;width:100%;padding:11px 12px}.booking-modal-body select:focus{border-color:#1f5f8b;box-shadow:0 0 0 3px #1f5f8b1f}.booking-modal-body>button{margin-top:8px}.booking-modal-body input[type=checkbox]{vertical-align:middle;width:16px;height:16px;margin-right:8px}.booking-evaluation{border:1px solid;border-radius:9px;margin-top:8px;padding:16px}.booking-evaluation h3{margin:0 0 10px;font-size:16px}.booking-evaluation ul{margin:8px 0 12px;padding-left:20px}.booking-evaluation li{margin:4px 0;font-size:13px;line-height:1.4}.booking-evaluation p{margin:8px 0 0;font-size:13px;font-weight:600}.booking-modal-footer{background:#fafbfc;border-top:1px solid #e0e5e9;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.booking-modal-footer button:first-child{color:#35414c;background:#fff;border:1px solid #cbd3da}.booking-modal-footer button:first-child:hover{background:#f0f3f5}.manager-page .page-header{margin-bottom:24px}.manager-bookings h2{margin:0 0 16px;font-size:20px}.manager-booking-list{flex-direction:column;gap:10px;display:flex}.manager-booking{background:#fff;border:1px solid #dfe4e8;border-left:5px solid #aeb8bf;border-radius:9px;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;display:flex;box-shadow:0 3px 12px #1b2b3809}.manager-booking.booking-allowed{border-left-color:#4d9a5b}.manager-booking.booking-exceptional{border-left-color:#d0a800}.manager-booking.booking-rule-breaker{border-left-color:#c34a4a}.manager-booking-details{min-width:0}.manager-booking-details h3{color:#1e2a33;margin:0 0 9px;font-size:16px}.manager-booking-details p{color:#5d6973;margin:4px 0;font-size:13px}.manager-booking-details strong{color:#34414b}.manager-booking-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.manager-booking-actions button{border-radius:8px;width:42px;height:42px;padding:0;font-size:20px;font-weight:700}.manager-booking-actions button:first-child{background:#3d8750}.manager-booking-actions button:first-child:hover{background:#316f41}.manager-booking-actions button:last-child{background:#b84a4a}.manager-booking-actions button:last-child:hover{background:#963b3b}.calendar-page>p:not(.error-message),.history-page>p:not(.error-message),.manager-page>p:not(.error-message){color:#697580}.manager-bookings+p,.booking-list>p{color:#697580;text-align:center;background:#fafbfc;border:1px dashed #cbd3da;border-radius:9px;padding:28px}@media (width<=900px){.calendar-page,.history-page,.manager-page{padding:20px}.calendar-section{padding:16px}.calendar-day,.calendar-day.empty{min-height:110px}.booking-list-item{grid-template-columns:1fr 1fr}.booking-list-status{border-top:1px solid #e1e5e8;border-left:0;padding-top:12px;padding-left:0}}@media (width<=650px){.calendar-page,.history-page,.manager-page{padding:14px}.page-header{flex-direction:column;align-items:stretch;gap:18px}.page-header h1{font-size:25px}.page-navigation{width:100%}.page-navigation button{flex:1}.calendar-navigation{gap:8px}.calendar-navigation h2{font-size:18px}.calendar-navigation button{padding:8px 10px}.calendar-weekdays div{padding:7px 2px;font-size:9px}.calendar-grid{gap:3px}.calendar-day{border-radius:6px;min-height:88px;padding:6px}.calendar-day.empty{min-height:88px}.calendar-date{width:23px;height:23px;font-size:12px}.bank-holiday-label{display:none}.calendar-day-bookings{gap:3px;margin-top:4px}.booking-indicator{padding:4px;font-size:8px}.booking-indicator span:last-child{font-size:7px}.book-day-button{display:none}.booking-details{padding:16px}.booking-details-header{flex-direction:column;align-items:flex-start}.booking-details-header button{width:100%}.booking-details-item{flex-direction:column;align-items:flex-start;gap:10px}.booking-details-item>div:last-child{text-align:left;width:100%}.booking-list-item{flex-direction:column;gap:12px;display:flex}.booking-list-status{width:100%}.manager-booking{flex-direction:column;align-items:flex-start;gap:15px}.manager-booking-actions{width:100%}.manager-booking-actions button{flex:1}.booking-modal-overlay{padding:10px}.booking-modal{border-radius:10px;max-height:calc(100vh - 20px)}.booking-modal-header,.booking-modal-body,.booking-modal-footer{padding-left:18px;padding-right:18px}.booking-modal-footer{flex-direction:column-reverse}.booking-modal-footer button{width:100%}.employee-select-card{padding:28px 22px}.note-page{color:#26323d;box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:24px}.note-page .page-header{border-bottom:1px solid #d5d8dc;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:18px;display:flex}.note-page .page-header h1{margin:0 0 6px}.note-page .page-header p{color:#626d77;margin:0}.note-page .page-header button{color:#26323d;cursor:pointer;background:#cfcece;border:1px solid #6b6b6b;border-radius:6px;padding:10px 16px}.note-page .page-header button:hover{background:#df9800}.note-create-section,.note-list-section{background:#fff;border:1px solid #d5d8dc;border-radius:10px;margin-bottom:24px;padding:24px;box-shadow:0 2px 6px #26323d0f}.note-create-section h2,.note-list-section h2{color:#26323d;margin:0 0 10px}.note-create-section>p,.note-list-section>p{color:#626d77;margin-bottom:22px;line-height:1.5}.note-page .note-form-field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.note-page .note-form-field label{font-weight:600}.note-page .note-form-field input,.note-page .note-form-field textarea{box-sizing:border-box;color:#26323d;width:100%;font:inherit;background:#fff;border:1px solid #bfc8d0;border-radius:6px;padding:11px 12px}.note-page .note-form-field input:focus,.note-page .note-form-field textarea:focus{outline-offset:1px;border-color:#df9800;outline:2px solid #df9800}.note-page .note-form-field textarea{resize:vertical;min-height:120px}.note-page .note-inclusion-fieldset{border:1px solid #d5d8dc;border-radius:8px;min-width:0;margin:0 0 22px;padding:18px}.note-page .note-inclusion-fieldset legend{padding:0 8px;font-weight:700}.note-page .note-inclusion-fieldset>p{color:#626d77;margin-top:0;line-height:1.5}.note-page .note-employee-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:12px;display:grid}.note-page .note-employee-option{cursor:pointer;background:#f7f8f9;border:1px solid #e0e3e6;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.note-page .note-employee-option:hover{background:#f0f1f2}.note-page .note-employee-option input{accent-color:#df9800;flex-shrink:0;width:16px;height:16px}.note-page form>button[type=submit]{color:#26323d;cursor:pointer;background:#cfcece;border:1px solid #6b6b6b;border-radius:6px;padding:11px 20px;font-weight:600}.note-page form>button[type=submit]:hover:not(:disabled){background:#df9800}.note-page form>button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.note-page .error-message{color:#a4262c;background:#fcebec;border:1px solid #e8b8bb;border-radius:6px;padding:10px 12px}.note-page .success-message{color:#246b3c;background:#eaf5ed;border:1px solid #b7d9c0;border-radius:6px;padding:10px 12px}.note-page .note-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin-top:20px;display:grid}.note-page .note-card{box-sizing:border-box;background:#f8f9fa;border:1px solid #d5d8dc;border-left:4px solid #df9800;border-radius:8px;min-width:0;padding:18px}.note-page .note-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.note-page .note-card-header h3{margin:0 0 6px;font-size:1.1rem}.note-page .note-card-header p{color:#626d77;margin:0;font-size:.9rem}.note-page .note-ownership{color:#26323d;background:#e7e9eb;border-radius:14px;flex-shrink:0;padding:5px 10px;font-size:.8rem;font-weight:600}.note-page .note-card-content{overflow-wrap:anywhere;line-height:1.6}.note-page .note-card-content p{white-space:pre-wrap;margin:0}.note-page .note-card-inclusions{border-top:1px solid #d5d8dc;margin-top:18px;padding-top:14px}.note-page .note-card-inclusions h4{margin:0 0 8px;font-size:.9rem}.note-page .note-card-inclusions ul{color:#626d77;margin:0;padding-left:20px}.note-page .note-card-inclusions li{margin:4px 0}@media (width<=600px){.note-page{padding:14px}.note-page .page-header{flex-direction:column;align-items:flex-start}.note-page .page-header button{width:100%}.note-create-section,.note-list-section{padding:16px}.note-page .note-card-header{flex-direction:column}.note-page .note-employee-list{grid-template-columns:1fr}}}.booking-note{color:#26323c;white-space:pre-wrap;overflow-wrap:anywhere;background:#1f5f8b14;border-left:3px solid #1f5f8b;border-radius:4px;margin:8px 0 0;padding:6px 10px;font-size:13px}.booking-note-badge{cursor:help}.booking-note-trigger{color:#26323c;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#f6f8fa;border:1px dashed #98a6b3;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;overflow:hidden}.booking-note-trigger:hover{background:#eef4f9;border-color:#1f5f8b}.range-booking-field .booking-note-trigger{width:auto;min-width:120px}.booking-note-overlay{z-index:1100;background:#0a141e73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.booking-note-window{background:#fff;border-radius:12px;width:min(100%,440px);padding:22px;box-shadow:0 24px 70px #0000004d}.booking-note-window h3{margin:0 0 4px}.booking-note-window p{color:#56636e;margin:0 0 12px;font-size:13px}.booking-note-window textarea{resize:vertical;border:1px solid #cbd3da;border-radius:8px;width:100%;padding:10px 12px}.booking-note-count{color:#7a8791;text-align:right;margin-top:4px;font-size:12px}.booking-note-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.booking-time-range{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}.booking-time-range>div{flex-direction:column;gap:4px;display:flex}.booking-time-range input[type=time]{color:#17202a;background:#fff;border:1px solid #cbd3da;border-radius:8px;padding:11px 12px}.booking-time-hint{color:#56636e;grid-column:1/-1;margin:0;font-size:12.5px}.booking-time-slot{background:#f7f5fd;border-left-color:#6b5bb5}.booking-time-slot-indicator{color:#3d3270;background:#efeafb;border-left:3px solid #6b5bb5}.booking-time-slot em{color:#56636e;font-size:13px}.list-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.list-view-switch{border:1px solid #1f5f8b;border-radius:8px;display:inline-flex;overflow:hidden}.list-view-switch button{color:#1f5f8b;background:#fff;border:0;padding:8px 16px;font-weight:600}.list-view-switch button+button{border-left:1px solid #1f5f8b}.list-view-switch button.active{color:#fff;background:#1f5f8b}.admin-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.admin-toolbar input[type=search]{border:1px solid #cbd3da;border-radius:8px;flex:240px;padding:10px 12px}.admin-toolbar select{background:#fff;border:1px solid #cbd3da;border-radius:8px;padding:10px 12px}.admin-success{color:#1d5a39;background:#e6f4ec;border-left:4px solid #2a7d4f;border-radius:6px;margin:0 0 14px;padding:10px 14px}.admin-remove-button{color:#b3342b;background:#fff;border:1px solid #b3342b;border-radius:8px;margin-top:8px;padding:7px 14px;font-weight:600}.admin-remove-button:hover:not(:disabled){color:#fff;background:#b3342b}.admin-more-button{margin:16px auto 0;padding:10px 22px;display:block}@media (width<=700px){.booking-time-range{grid-template-columns:1fr}.list-controls{justify-content:flex-start}}.day-chip{border-left:3px solid;border-radius:4px;padding:3px 6px;font-size:10.5px;font-weight:600;line-height:1.25}.day-chip span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day-chip.booking-rejected{opacity:.7;text-decoration:line-through}.day-chip.chip-time-slot{color:#6b5bb5;background:#efeafb}.day-chip.chip-room{color:#2a8a7a;background:#e5f4f1}.day-chip.chip-time-slot span,.day-chip.chip-room span{color:#26323c}.day-chip.day-chip-more{color:#56636e;background:0 0;border-left-color:#98a6b3;font-weight:500}.booking-room{background:#f1faf8;border-left-color:#2a8a7a}.calendar-day.has-own-holiday{background:#fff4cc;border-color:#e3b93c}.calendar-day.has-own-holiday.past{background:#fbf3d6;border-color:#e8d9a0}.calendar-day.today{box-shadow:0 0 0 2px #1f5f8b}.calendar-weekday-label,.day-initials,.booking-details-close{display:none}.booking-details-buttons{gap:8px;display:flex}.day-badge{text-align:center;border:1px solid #0000;border-radius:4px;min-width:19px;padding:2px 3px;font-size:9.5px;font-weight:800;line-height:1.2}.day-badge.chip-time-slot{color:#6b5bb5;background:#efeafb;border-color:#6b5bb5}.day-badge.chip-room{color:#2a8a7a;background:#e5f4f1;border-color:#2a8a7a}.day-badge.own{box-shadow:0 0 0 1.5px #17202a}.day-badge.day-badge-more{color:#56636e;background:#fff;border-color:#98a6b3}.day-badge.booking-rejected{text-decoration:line-through}.wd-short,.calendar-view-toggle,.calendar-legend{display:none}.range-booking-section{background:#fff;border:1px solid #dfe4e8;border-radius:14px;margin-bottom:20px;padding:20px 24px;box-shadow:0 5px 18px #1b2b380a}.range-booking-header h2{margin:0 0 2px;font-size:18px}.range-booking-header p{color:#626d77;margin:0 0 14px;font-size:14px}.range-booking-form{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.range-booking-field{flex-direction:column;gap:5px;display:flex}.range-booking-field label{color:#303c46;font-size:13px;font-weight:700}.range-booking-field input,.range-booking-field select{color:#17202a;background:#fff;border:1px solid #cbd3da;border-radius:8px;padding:10px 12px}.range-booking-button{color:#fff;background:#1f5f8b;border:1px solid #1f5f8b;border-radius:8px;padding:11px 20px;font-weight:700}.range-booking-button:disabled{color:#8a949d;background:#e6eaee;border-color:#cbd3da}@media (width<=720px){.calendar-view-toggle{border:1px solid #1f5f8b;border-radius:10px;margin:0 0 10px;display:flex;overflow:hidden}.calendar-view-toggle button{color:#1f5f8b;background:#fff;border:0;flex:1;padding:10px 0;font-weight:700}.calendar-view-toggle button+button{border-left:1px solid #1f5f8b}.calendar-view-toggle button.active{color:#fff;background:#1f5f8b}.calendar-legend{color:#626d77;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 10px;font-size:12px;display:flex}.calendar-legend em{flex-basis:100%}.legend-dot{border-radius:50%;width:9px;height:9px;margin-right:-4px;display:inline-block}.legend-holiday{background:#246238}.legend-slot{background:#6b5bb5}.legend-room{background:#2a8a7a}.legend-yellow{background:#fff4cc;border:1px solid #e3b93c;border-radius:3px;width:12px;height:12px;margin-right:-4px;display:inline-block}.calendar-view-grid .wd-full{display:none}.calendar-view-grid .wd-short{display:inline}.calendar-view-list .wd-short{display:none}.calendar-view-grid .calendar-weekdays div{letter-spacing:0;padding:6px 0;font-size:10px}.calendar-view-grid .calendar-grid{gap:2px}.calendar-view-grid .calendar-day,.calendar-view-grid .calendar-day.empty{min-height:96px}.calendar-view-grid .calendar-day{border-radius:7px;flex-direction:column;align-items:center;padding:5px 2px 4px;display:flex}.calendar-view-grid .calendar-day-header{justify-content:center}.calendar-view-grid .calendar-date{width:auto;height:auto;font-size:15px;line-height:1.2}.calendar-view-grid .bank-holiday-label{display:none}.calendar-view-grid .calendar-day.bank-holiday{background:#fdf3d8}.calendar-view-grid .calendar-day-bookings{display:none}.calendar-view-grid .day-initials{flex-wrap:wrap;place-content:flex-start center;gap:2px;margin-top:4px;display:flex}.calendar-view-grid .book-day-button,.calendar-view-list .calendar-weekdays,.calendar-view-list .calendar-day.empty{display:none}.calendar-view-list .calendar-grid{flex-direction:column;gap:8px;display:flex}.calendar-view-list .calendar-day.weekend:not(.has-bookings){display:none}.calendar-view-list .calendar-day{border-radius:10px;grid-template-columns:70px minmax(0,1fr) auto;align-items:start;column-gap:12px;min-height:0;padding:12px 14px;display:grid;position:static}.calendar-view-list .calendar-day.past{opacity:.65}.calendar-view-list .calendar-day-header{flex-direction:column;align-items:flex-start;gap:2px}.calendar-view-list .calendar-date-group{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.calendar-view-list .calendar-weekday-label{color:#697580;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.calendar-view-list .calendar-date{width:auto;height:auto;font-size:24px;line-height:1}.calendar-view-list .bank-holiday-label{text-align:left;max-width:none;font-size:11px;display:block}.calendar-view-list .calendar-day-bookings{flex-flow:column;gap:6px;min-height:24px;margin-top:0}.calendar-view-list .calendar-day-bookings:empty:before{content:"Nothing booked";color:#9aa4ad;font-size:13px}.calendar-view-list .booking-indicator{padding:8px 10px;font-size:13px}.calendar-view-list .booking-indicator span:last-child{font-size:12px}.calendar-view-list .day-chip{padding:7px 10px;font-size:13px}.calendar-view-list .day-chip span{white-space:normal;overflow:visible}.calendar-view-list .book-day-button{align-self:center;padding:9px 14px;font-size:13px;display:inline-flex;position:static}.calendar-page,.history-page,.manager-page{padding:8px 4px}.calendar-page .page-header,.calendar-page .error-message{margin-left:6px;margin-right:6px}.calendar-section{border-radius:10px;padding:8px 3px}.range-booking-section,.booking-details{padding:14px}.range-booking-section{margin:0 3px 8px}#booking-details-anchor{z-index:900;max-height:70vh;padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0;margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 40px #00000059}.booking-details-buttons{gap:8px;width:100%;display:flex}.booking-details-buttons button{flex:1;min-height:44px}.booking-details-close{display:block}.page-navigation{flex-wrap:wrap}.page-navigation button{flex:calc(50% - 10px);min-width:110px;padding:12px 10px}.calendar-navigation{z-index:5;background:#fff;padding:8px 0;position:sticky;top:0}input,select,textarea,.booking-modal-body select{font-size:16px}.range-booking-form{flex-direction:column;align-items:stretch}.range-booking-field input,.range-booking-field select,.range-booking-field .booking-note-trigger,.range-booking-button{width:100%;min-height:46px}.booking-modal-body select,.booking-time-range input[type=time],.booking-note-trigger{min-height:46px}.booking-modal-overlay{align-items:flex-end;padding:0}.booking-modal{border-radius:16px 16px 0 0;width:100%;max-height:92vh}.booking-modal-body{gap:12px}.booking-note-overlay{align-items:flex-end;padding:0}.booking-note-window{border-radius:16px 16px 0 0;width:100%}.booking-list-item,.booking-details-item{padding:14px}.list-controls,.list-view-switch,.admin-toolbar{width:100%}.list-view-switch button{flex:1;padding:11px 0}.admin-toolbar input[type=search],.admin-toolbar select,.admin-toolbar button{flex:100%;min-height:44px}.admin-remove-button{width:100%;min-height:44px}.manager-booking-actions button{min-height:48px}main.summary-page{padding:12px}main.summary-page .page-header{flex-direction:column;align-items:stretch}.summary-search{width:100%;min-width:0}.summary-table th:first-child,.summary-table td:first-child{background:#fff;position:sticky;left:0}}@media (width<=380px){.calendar-view-list .calendar-day{grid-template-columns:56px minmax(0,1fr) auto;column-gap:8px;padding:10px}.calendar-view-list .calendar-date{font-size:21px}.calendar-view-grid .calendar-day,.calendar-view-grid .calendar-day.empty{min-height:88px}}.employee-select-card input[type=email],.employee-select-card input[type=password]{color:#17202a;background:#fff;border:1px solid #cbd3da;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:16px}.employee-select-card input[type=email]:focus,.employee-select-card input[type=password]:focus{border-color:#1f5f8b;box-shadow:0 0 0 3px #1f5f8b1f}.employee-select-card .login-back-button{color:#1f5f8b;box-shadow:none;background:0 0;border:none;font-size:14px;text-decoration:underline}
