html{font-size:62.5%}:root{--primary-color: #C6CED1;--text-color: #90a2a7;--text-color-dark: #292929;--border-color: #90a2a7;--border-color-light: #DBE1E3;--background-color: white;--dialog-background-color: #F0F0F0}body,td,th,input,select,textarea,button{font-family:Helvetica Nueue,Helvetica,sans-serif;font-size:1.6rem;letter-spacing:.03rem;color:var(--text-color);padding:0;margin:0;box-sizing:border-box;background-color:var(--background-color)}@media (max-width: 600px){body{font-size:1.4rem}}#app{max-width:80rem;margin:auto}#header{position:relative;font-size:4rem;text-align:center;margin-top:5rem;border-bottom:.1rem solid var(--text-color);width:100%}#content{margin-top:4rem;margin-bottom:4rem;line-height:140%}#top{position:absolute;top:0;right:0;height:3rem;text-align:right}#login,#logout{margin:1rem;cursor:pointer;transition:border-bottom .1s ease}#login:hover,#logout:hover{border-bottom:2px solid var(--text-color)}#login a,#logout a{text-decoration:none;color:inherit}.calendar{display:flex;flex-direction:column;border:.1rem solid var(--border-color)}.calendar-header,.week{display:flex;width:100%}.weekday,.weekno,.day{flex:1;text-align:center;padding:1rem;border:.1rem solid var(--border-color-light)}.weekday{font-weight:700;background-color:#f0f0f0}.weekno{background-color:#f5f5f5}.day{height:8rem;font-size:1.5em;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s ease}.day:not(.empty):hover{background-color:var(--primary-color)}.day.empty{background-color:#f9f9f9}.day.has-reservation{position:relative}.day.has-reservation:after{content:"";position:absolute;bottom:1rem;left:10%;width:80%;height:1rem;background-color:#5f9ea0}@media (max-width: 600px){.calendar-container{font-size:1.2rem}.day{height:6rem;font-size:1.2em}}.xxday-container{font-family:Helvetica Neue,Helvetica,sans-serif;color:var(--text-color);font-size:1.1em;max-width:80rem;margin:0}.date-selector{display:flex;justify-content:flex-end;align-items:center;margin-bottom:2rem;cursor:pointer}.date-selector span{margin:0 1rem}.hours-container{display:flex;flex-direction:column;border:1px solid var(--text-color)}.hour{display:flex;border-bottom:1px solid #DBE1E3}.hour:last-child{border-bottom:none}.hour-text{width:7rem;padding:1rem;text-align:right;font-size:.8em;border-right:1px solid #DBE1E3}@media (max-width: 600px){.hour-text{width:4rem}}.hour-content{flex:1;min-height:49px;position:relative}.authenticated .hour-content:hover{background-color:#f0f0f0;cursor:pointer}.entry{background:#5f9ea0;position:absolute;left:0;right:0;top:0;padding:5px;overflow:hidden;transition:background-color .3s ease,transform .3s ease;box-sizing:border-box;z-index:1;pointer-events:auto;border:1px solid var(--text-color)}.can-edit.entry:hover{cursor:pointer;transform:scale(1.02);z-index:2}.entry-text{color:#fff}#weekend-checkbox{display:flex;align-items:center;margin-top:1.5rem;color:#666;cursor:pointer}#weekend-checkbox:before{content:"";display:inline-block;width:2rem;height:2rem;margin-right:1rem;border:.1rem solid var(--text-color);background-color:#fff}#weekend-checkbox.checked:before{background-color:var(--text-color)}#dialogbox-overlay{display:flex;justify-content:center;align-items:center;position:fixed;left:0;top:0;width:100%;height:100%;text-align:center;z-index:1000;background-color:#fffc}#dialogbox{position:relative;width:39rem;background-color:var(--dialog-background-color);border:3px solid var(--border-color);text-align:left}.dialogbox-fields{margin:4rem}.dialogbox-label{text-align:left;font-size:1.4rem;width:100%;margin-top:1.2rem;margin-bottom:.4rem}.dialogbox-input{color:#333;font-size:1em;border:1px solid var(--border-color);background-color:#f5f5f5;padding:1rem;width:100%;box-sizing:border-box}.dialogbox-input:disabled{color:#d3d3d3;background-color:var(--dialog-background-color)}#dialogbox .button{height:4rem;line-height:4rem;margin-top:25px;width:100%;color:var(--text-color-dark)}#dialogbox .button:hover{background-color:var(--text-color);color:#fff}.dialogbox-checkbox{margin-top:2rem;font-size:1.6rem;display:flex;align-items:center;line-height:1.6rem}.dialogbox-checkbox label{margin-left:1rem}.dialogbox-error{box-sizing:border-box;width:100%;border:.1rem solid darkred;padding:1.5rem;margin-top:2rem;color:#8b0000}.button{display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center;background-color:var(--primary-color);color:var(--text-color-dark);transition:background-color .2s ease;border:1px solid var(--border-color);cursor:pointer;white-space:nowrap}.button:hover{background-color:var(--border-color);color:#fff}.button:disabled{background-color:var(--border-color-light);color:gray;cursor:default}.button .working{display:inline-block;width:1.5rem;height:1.5rem;margin-left:1rem;border:.3rem solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s infinite linear;vertical-align:middle}.calendar-container{max-width:80rem;margin:0}.content{position:relative}.loading-overlay{position:fixed;top:calc(50% - 120px);left:calc(50% - 120px);width:24rem;height:24rem;padding:3rem;background-color:#666;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.loading-spinner{width:5rem;height:5rem;border:5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin-top:2rem;color:#fff;font-size:1.2em;text-align:center}.calendar-selector{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calendar-selector .button{padding:.5rem 1.5rem;font-size:1.3rem}.calendar-selector .date-navigate{display:flex;gap:1rem}.calendar-selector .chevron{display:flex;align-items:center;padding:.5rem}.calendar-selector .date-text{width:16rem;background-color:#f0f0f0;border-radius:0;border:.1rem solid var(--text-color);padding:.5rem 1.5rem;text-align:center;color:#000;font-size:1.3rem}
