.otp-row{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-lg)}.otp-digit-input{width:3rem;height:3rem;text-align:center;font-size:var(--font-size-xl);font-weight:600;border-radius:var(--radius-md);border:2px solid var(--color-border);background-color:var(--color-background-light);color:var(--color-text-white);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);font-family:var(--font-family)}.otp-digit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c715854d;background-color:var(--color-background-light)}.otp-digit-input:disabled{background-color:var(--color-background-light);cursor:not-allowed;opacity:.5}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-background);padding:var(--spacing-xl)}.login-box{width:100%;max-width:450px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3xl);animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-logo{max-width:300px;width:100%;height:auto;object-fit:contain;margin-bottom:var(--spacing-xl)}.login-form{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xl)}.login-field-group{width:100%;display:flex;flex-direction:column;gap:var(--spacing-sm)}.login-label{color:var(--color-text-white);font-weight:500;font-size:var(--font-size-base);font-family:var(--font-family)}.login-input-container{position:relative;width:100%}.login-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background-light);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-white);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-normal);box-sizing:border-box}.login-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c7158533}.login-input::placeholder{color:var(--color-text-tertiary)}.login-input-clear,.login-password-toggle{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;transition:color var(--transition-normal)}.login-input-clear:hover,.login-password-toggle:hover{color:var(--color-text-white)}.login-password-input{padding-right:45px}.login-options{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:var(--spacing-sm)}.login-checkbox-group{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.login-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.login-checkbox-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;-webkit-user-select:none;user-select:none}.login-forgot-link{color:#fff;background-color:transparent;font-size:var(--font-size-sm);font-family:var(--font-family);text-decoration:underline;cursor:pointer;transition:color var(--transition-normal);font-weight:500}.login-forgot-link:hover{color:var(--color-primary-hover)}.login-forgot-link:disabled{color:var(--color-text-tertiary);cursor:not-allowed;text-decoration:none;opacity:.5}.login-button{width:100%;padding:var(--spacing-lg) var(--spacing-xl);background-color:#ff9800;color:var(--color-text-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);margin-top:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.login-button:hover:not(:disabled){background-color:#e68900;transform:translateY(-2px);box-shadow:0 4px 12px #ff980066}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{width:100%;padding:var(--spacing-md);background-color:#d32f2f1a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-md)}.login-success{width:100%;padding:var(--spacing-md);background-color:#46c4711a;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-md)}.login-otp-section{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center}.login-otp-title{color:var(--color-text-white);font-size:var(--font-size-xl);font-weight:600;text-align:center;margin-bottom:var(--spacing-md)}.login-otp-message{color:var(--color-text-secondary);font-size:var(--font-size-base);text-align:center;margin-bottom:var(--spacing-lg)}.login-otp-actions{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;margin-top:var(--spacing-lg)}.login-back-link{color:var(--color-text-white);font-size:var(--font-size-base);text-align:center;cursor:pointer;text-decoration:underline;transition:color var(--transition-normal);background:none;border:none;padding:var(--spacing-md);font-family:var(--font-family)}.login-back-link:hover{color:var(--color-primary)}.login-company-selection{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-company-title{color:var(--color-text-white);font-size:var(--font-size-xl);font-weight:600;text-align:center;margin-bottom:var(--spacing-md)}.login-company-select{width:100%;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background-light);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-white);font-size:var(--font-size-base);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal)}.login-company-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c7158533}.login-company-select option{background-color:var(--color-background-light);color:var(--color-text-white)}.login-reset-section{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-reset-title{color:var(--color-text-white);font-size:var(--font-size-xl);font-weight:600;text-align:center}.login-reset-message{color:var(--color-text-secondary);font-size:var(--font-size-base);text-align:center}.login-version{position:fixed;bottom:var(--spacing-md);left:50%;transform:translate(-50%);font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family)}@media screen and (min-width: 1920px) and (min-height: 1080px){.login-box{max-width:550px;gap:var(--spacing-4xl)}.login-logo{max-width:400px}.login-input{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-lg)}.login-button{padding:var(--spacing-xl) var(--spacing-2xl);font-size:var(--font-size-xl)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.login-box{max-width:650px}.login-logo{max-width:500px}.login-input{padding:var(--spacing-xl) var(--spacing-2xl);font-size:var(--font-size-xl)}.login-button{padding:var(--spacing-2xl) var(--spacing-3xl);font-size:var(--font-size-2xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.login-box{max-width:800px}.login-logo{max-width:600px}.login-input{padding:var(--spacing-2xl) var(--spacing-3xl);font-size:var(--font-size-2xl)}.login-button{padding:var(--spacing-3xl) var(--spacing-4xl);font-size:var(--font-size-3xl)}}.pin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.pin-modal{background-color:var(--color-background-white);border-radius:var(--radius-xl);padding:var(--spacing-2xl);width:90%;max-width:400px;border:2px solid var(--color-primary);box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.pin-modal-title{font-size:var(--font-size-3xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-align:center;font-family:var(--font-family)}.pin-modal-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);text-align:center;font-family:var(--font-family)}.pin-modal-selector{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);background-color:var(--color-background-light);padding:4px;border-radius:var(--radius-md)}.pin-modal-selector-button{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-normal);border:none;background-color:transparent;color:var(--color-text-secondary);font-family:var(--font-family)}.pin-modal-selector-button:hover{background-color:#c715851a;color:var(--color-primary)}.pin-modal-selector-button.active{background-color:var(--color-primary);color:var(--color-text-white);box-shadow:var(--shadow-sm)}.pin-modal-selector-button.active:hover{background-color:var(--color-primary-hover)}.pin-modal-input-container{position:relative;margin-bottom:var(--spacing-xl)}.pin-modal-input-wrapper{position:relative;width:100%}.pin-modal-input{width:100%;background-color:var(--color-background-white);border-radius:var(--radius-lg);padding:var(--spacing-lg);padding-right:60px;font-size:var(--font-size-lg);color:var(--color-text-primary);text-align:left;letter-spacing:0;border:1.5px solid var(--color-border-dark);font-family:var(--font-family);transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.pin-modal-input[type=password]{font-size:var(--font-size-xl);text-align:center;letter-spacing:4px;font-family:monospace}.pin-modal-toggle-visibility{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:transparent;border:none;color:#8a8886;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.pin-modal-toggle-visibility:hover{color:#c71585;background-color:#0000000a;border-radius:4px}.pin-modal-toggle-visibility:focus{outline:none;color:#c71585}.pin-modal-toggle-visibility svg{width:16px;height:16px}.pin-modal-input:hover{border-color:var(--color-text-tertiary)}.pin-modal-input:focus{border-color:var(--color-border-focus);border-width:1px;box-shadow:0 0 0 1px #c7158533;outline:none}.pin-modal-buttons{display:flex;gap:var(--spacing-md)}.pin-modal-button{flex:1;padding:var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:var(--transition-normal);border:none;font-family:var(--font-family)}.pin-modal-button:disabled{opacity:.6;cursor:not-allowed}.pin-modal-button-cancel{background-color:var(--color-background-light);color:var(--color-text-primary);border:1px solid var(--color-border)}.pin-modal-button-cancel:hover:not(:disabled){background-color:var(--color-border);border-color:var(--color-text-tertiary)}.pin-modal-button-confirm{background-color:var(--color-primary);color:var(--color-text-white)}.pin-modal-button-confirm:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.pin-modal-button-confirm:active:not(:disabled){background-color:var(--color-primary-active);transform:translateY(0)}.pin-modal-email-suggestions{position:absolute;top:100%;left:0;right:0;background-color:var(--color-background-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:1000;margin-top:4px;animation:slideDown .2s ease}.pin-modal-suggestion-loading{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pin-modal-email-suggestion-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid var(--color-border)}.pin-modal-email-suggestion-item:last-child{border-bottom:none}.pin-modal-email-suggestion-item:hover{background-color:var(--color-background-light)}.pin-modal-suggestion-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;position:relative;overflow:hidden;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.pin-modal-suggestion-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.pin-modal-suggestion-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);font-weight:700;color:#fff;background:var(--color-primary);border-radius:50%}.pin-modal-suggestion-info{flex:1;min-width:0}.pin-modal-suggestion-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:2px;font-family:var(--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin-modal-suggestion-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width: 1920px) and (min-height: 1080px){.pin-modal{max-width:500px;padding:var(--spacing-3xl)}.pin-modal-title{font-size:var(--font-size-4xl)}.pin-modal-message{font-size:var(--font-size-xl)}.pin-modal-input{font-size:var(--font-size-xl);padding:var(--spacing-xl)}.pin-modal-button{padding:var(--spacing-xl) var(--spacing-2xl);font-size:var(--font-size-lg)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.pin-modal{max-width:600px;padding:var(--spacing-4xl)}.pin-modal-title{font-size:42px}.pin-modal-message{font-size:var(--font-size-2xl)}.pin-modal-input{font-size:var(--font-size-2xl);padding:var(--spacing-2xl)}.pin-modal-button{padding:var(--spacing-2xl) var(--spacing-3xl);font-size:var(--font-size-xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.pin-modal{max-width:800px;padding:var(--spacing-5xl)}.pin-modal-title{font-size:56px}.pin-modal-message{font-size:var(--font-size-3xl)}.pin-modal-input{font-size:var(--font-size-3xl);padding:var(--spacing-3xl)}.pin-modal-button{padding:var(--spacing-3xl) var(--spacing-4xl);font-size:var(--font-size-2xl)}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.settings-modal-content{background:var(--color-background-light);border-radius:var(--radius-xl);width:90%;max-width:400px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;border:2px solid var(--color-primary)}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl) var(--spacing-xl);border-bottom:1px solid var(--color-border);background-color:#ffffff0d}.settings-modal-title{margin:0;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text-primary);font-family:var(--font-family)}.settings-modal-close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition-fast)}.settings-modal-close:hover{background-color:#ffffff1a;color:var(--color-text-white)}.settings-modal-body{padding:var(--spacing-lg)}.settings-modal-user-info{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.settings-modal-user-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500;font-family:var(--font-family)}.settings-modal-user-email{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:600;font-family:var(--font-family);word-break:break-all}.settings-modal-option{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);color:var(--color-text-white);font-family:var(--font-family)}.settings-modal-option:last-child{margin-bottom:0}.settings-modal-option:hover{background-color:#ffffff1a;border-color:var(--color-border-medium);transform:translateY(-1px);box-shadow:var(--shadow-md)}.settings-modal-option:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.settings-modal-option-danger{color:var(--color-error);border-color:var(--color-error)}.settings-modal-option-danger:hover{background-color:#d32f2f1a;border-color:var(--color-error)}.settings-modal-option-icon{font-size:20px;width:24px;text-align:center}.settings-modal-option-text{flex:1;font-weight:500}@media screen and (min-width: 1920px) and (min-height: 1080px){.settings-modal-content{max-width:550px}.settings-modal-title{font-size:var(--font-size-3xl)}.settings-modal-option{padding:var(--spacing-xl);font-size:var(--font-size-xl)}.settings-modal-user-info{padding:var(--spacing-lg)}.settings-modal-user-label{font-size:var(--font-size-base)}.settings-modal-user-email{font-size:var(--font-size-lg)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.settings-modal-content{max-width:700px}.settings-modal-title{font-size:var(--font-size-4xl)}.settings-modal-option{padding:var(--spacing-2xl);font-size:var(--font-size-2xl)}.settings-modal-user-info{padding:var(--spacing-xl)}.settings-modal-user-label{font-size:var(--font-size-lg)}.settings-modal-user-email{font-size:var(--font-size-xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.settings-modal-content{max-width:900px}.settings-modal-title{font-size:48px}.settings-modal-option{padding:var(--spacing-3xl);font-size:var(--font-size-3xl)}.settings-modal-user-info{padding:var(--spacing-2xl)}.settings-modal-user-label{font-size:var(--font-size-xl)}.settings-modal-user-email{font-size:var(--font-size-2xl)}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.confirm-modal-content{background:var(--color-background-light);border-radius:var(--radius-xl);width:90%;max-width:450px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;overflow:hidden;border:2px solid var(--color-primary)}.confirm-modal-header{padding:var(--spacing-xl) var(--spacing-xl);border-bottom:1px solid var(--color-border);background-color:#ffffff1a}.confirm-modal-header-info{background-color:#0078d433;border-bottom-color:var(--color-info)}.confirm-modal-header-warning{background-color:#ff980033;border-bottom-color:var(--color-warning)}.confirm-modal-header-danger{background-color:#d32f2f33;border-bottom-color:var(--color-error)}.confirm-modal-title{margin:0;font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text-primary);font-family:var(--font-family)}.confirm-modal-body{padding:var(--spacing-xl)}.confirm-modal-message{margin:0;font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.5;font-family:var(--font-family)}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);background-color:var(--color-background)}.confirm-modal-button{padding:10px var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-normal);border:none;min-width:100px;font-family:var(--font-family)}.confirm-modal-button-cancel{background-color:var(--color-background-light);color:var(--color-text-white);border:1px solid var(--color-border)}.confirm-modal-button-cancel:hover{background-color:var(--color-border);color:var(--color-text-primary)}.confirm-modal-button-confirm{color:var(--color-text-white)}.confirm-modal-button-info{background-color:var(--color-info)}.confirm-modal-button-info:hover{background-color:#106ebe}.confirm-modal-button-warning{background-color:var(--color-warning)}.confirm-modal-button-warning:hover{background-color:#f57c00}.confirm-modal-button-danger{background-color:var(--color-error)}.confirm-modal-button-danger:hover{background-color:#c62828}.confirm-modal-button:active{transform:scale(.98)}@media screen and (min-width: 1920px) and (min-height: 1080px){.confirm-modal-content{max-width:600px}.confirm-modal-title{font-size:var(--font-size-3xl)}.confirm-modal-message{font-size:var(--font-size-xl)}.confirm-modal-button{padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-lg);min-width:140px}}@media screen and (min-width: 2560px) and (min-height: 1440px){.confirm-modal-content{max-width:800px}.confirm-modal-title{font-size:var(--font-size-4xl)}.confirm-modal-message{font-size:var(--font-size-2xl)}.confirm-modal-button{padding:var(--spacing-lg) var(--spacing-3xl);font-size:var(--font-size-xl);min-width:180px}}@media screen and (min-width: 3840px) and (min-height: 2160px){.confirm-modal-content{max-width:1100px}.confirm-modal-title{font-size:48px}.confirm-modal-message{font-size:var(--font-size-3xl)}.confirm-modal-button{padding:var(--spacing-xl) var(--spacing-4xl);font-size:var(--font-size-2xl);min-width:220px}}.quick-reservation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.quick-reservation-modal-content{background-color:var(--color-background-white);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease;display:flex;flex-direction:column;border:2px solid var(--color-primary)}.quick-reservation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.quick-reservation-modal-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text-primary);margin:0;font-family:var(--font-family)}.quick-reservation-modal-close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition-fast)}.quick-reservation-modal-close:hover{background-color:var(--color-background-light);color:var(--color-text-primary)}.quick-reservation-modal-body{padding:var(--spacing-xl);flex:1;overflow-y:auto}.quick-reservation-field{margin-bottom:var(--spacing-xl)}.quick-reservation-label{display:block;font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-family:var(--font-family)}.quick-reservation-radio-group{display:flex;gap:var(--spacing-lg)}.quick-reservation-radio-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-primary);font-family:var(--font-family)}.quick-reservation-radio-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.quick-reservation-input-group{display:flex;gap:var(--spacing-sm);position:relative;align-items:center}.quick-reservation-input-group.email-full-width{gap:0;width:100%}.quick-reservation-input-wrapper{flex:1;position:relative;width:100%}.quick-reservation-input-group.email-full-width .quick-reservation-input-wrapper,.quick-reservation-input-group.email-full-width .quick-reservation-input{width:100%;flex:1 1 100%;min-width:0}.quick-reservation-input{flex:1;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-background-white);transition:var(--transition-fast);width:100%;box-sizing:border-box}.quick-reservation-input-group.has-pin-toggle .quick-reservation-input{padding-right:50px}.quick-reservation-toggle-pin{position:absolute;right:calc(120px + var(--spacing-sm));top:50%;transform:translateY(-50%);background:transparent;border:none;color:#8a8886;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.quick-reservation-toggle-pin:hover{color:#c71585;background-color:#0000000a;border-radius:4px}.quick-reservation-toggle-pin:focus{outline:none;color:#c71585}.quick-reservation-toggle-pin svg{width:16px;height:16px}.quick-reservation-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c715851a}.quick-reservation-input:disabled{background-color:var(--color-background-light);cursor:not-allowed;opacity:.6}.quick-reservation-email-suggestions{position:absolute;top:100%;left:0;right:0;background-color:var(--color-background-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:1000;margin-top:4px;animation:slideDown .2s ease}.quick-reservation-suggestion-loading{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.quick-reservation-email-suggestion-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid var(--color-border)}.quick-reservation-email-suggestion-item:last-child{border-bottom:none}.quick-reservation-email-suggestion-item:hover{background-color:var(--color-background-light)}.quick-reservation-suggestion-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;position:relative;overflow:hidden;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.quick-reservation-suggestion-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.quick-reservation-suggestion-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);font-weight:700;color:#fff;background:var(--color-primary);border-radius:50%}.quick-reservation-suggestion-info{flex:1;min-width:0}.quick-reservation-suggestion-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:2px;font-family:var(--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-reservation-suggestion-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quick-reservation-select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-background-white);transition:var(--transition-fast);cursor:pointer}.quick-reservation-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c715851a}.quick-reservation-select:disabled{background-color:var(--color-background-light);cursor:not-allowed;opacity:.6}.quick-reservation-search-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-text-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:var(--transition-fast);font-family:var(--font-family);white-space:nowrap}.quick-reservation-search-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.quick-reservation-search-button:disabled{opacity:.5;cursor:not-allowed}.quick-reservation-user-found{background-color:var(--color-success-background);border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-md);position:relative}.quick-reservation-user-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;position:relative;overflow:hidden;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.quick-reservation-user-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.quick-reservation-user-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:700;color:#fff;background:var(--color-primary);border-radius:50%}.quick-reservation-user-info{flex:1;min-width:0}.quick-reservation-user-name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-success);margin:0 0 var(--spacing-xs) 0;font-family:var(--font-family)}.quick-reservation-user-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-family:var(--font-family)}.quick-reservation-remove-user{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition-fast);flex-shrink:0;margin-left:auto}.quick-reservation-remove-user:hover{background-color:#0000000d;color:var(--color-error)}.quick-reservation-remove-user:focus{outline:none;background-color:#0000000d;color:var(--color-error)}.quick-reservation-remove-user svg{width:18px;height:18px}.quick-reservation-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.quick-reservation-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-xl);border-top:1px solid var(--color-border)}.quick-reservation-button{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:var(--transition-fast);font-family:var(--font-family);border:none}.quick-reservation-button-cancel{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.quick-reservation-button-cancel:hover:not(:disabled){background-color:var(--color-background-light);border-color:var(--color-border-medium)}.quick-reservation-button-create{background-color:var(--color-primary);color:var(--color-text-white)}.quick-reservation-button-create:hover:not(:disabled){background-color:var(--color-primary-hover)}.quick-reservation-button:disabled{opacity:.5;cursor:not-allowed}@media screen and (min-width: 1920px) and (min-height: 1080px){.quick-reservation-modal-content{max-width:700px;padding:var(--spacing-2xl)}.quick-reservation-modal-title{font-size:var(--font-size-3xl)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.quick-reservation-modal-content{max-width:900px;padding:var(--spacing-3xl)}.quick-reservation-modal-title{font-size:var(--font-size-4xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.quick-reservation-modal-content{max-width:1200px;padding:var(--spacing-4xl)}.quick-reservation-modal-title{font-size:48px}}.edit-reservation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.edit-reservation-modal-content{background-color:var(--color-background-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;border:2px solid var(--color-primary)}.edit-reservation-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.edit-reservation-modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.edit-reservation-modal-close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition-normal)}.edit-reservation-modal-close:hover{color:var(--color-text-primary);background-color:var(--color-background);border-radius:var(--border-radius-sm)}.edit-reservation-modal-body{padding:var(--spacing-xl)}.edit-reservation-field{margin-bottom:var(--spacing-lg)}.edit-reservation-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.edit-reservation-input,.edit-reservation-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background-white);transition:var(--transition-normal)}.edit-reservation-input:focus,.edit-reservation-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0078d41a}.edit-reservation-select:disabled{background-color:var(--color-background);cursor:not-allowed;opacity:.6}.edit-reservation-disabled-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:400;font-style:italic;margin-left:var(--spacing-xs)}.edit-reservation-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.edit-reservation-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-xl);border-top:1px solid var(--color-border)}.edit-reservation-button{padding:var(--spacing-sm) var(--spacing-xl);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:var(--transition-normal)}.edit-reservation-button-cancel{background-color:var(--color-background);color:var(--color-text-primary)}.edit-reservation-button-cancel:hover{background-color:var(--color-border)}.edit-reservation-button-confirm{background-color:var(--color-primary);color:#fff}.edit-reservation-button-confirm:hover{background-color:var(--color-primary-dark)}.edit-reservation-button-confirm:disabled{background-color:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed;opacity:.6}@media screen and (min-width: 1920px) and (min-height: 1080px){.edit-reservation-modal-content{max-width:700px}.edit-reservation-modal-title{font-size:var(--font-size-2xl)}.edit-reservation-input,.edit-reservation-select{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-lg)}.edit-reservation-button{padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-lg)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.edit-reservation-modal-content{max-width:900px}.edit-reservation-modal-title{font-size:var(--font-size-3xl)}.edit-reservation-input,.edit-reservation-select{font-size:var(--font-size-xl);padding:var(--spacing-lg) var(--spacing-xl)}.edit-reservation-button{padding:var(--spacing-lg) var(--spacing-3xl);font-size:var(--font-size-xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.edit-reservation-modal-content{max-width:1200px}.edit-reservation-modal-title{font-size:var(--font-size-4xl)}.edit-reservation-input,.edit-reservation-select{font-size:var(--font-size-2xl);padding:var(--spacing-xl) var(--spacing-2xl)}.edit-reservation-button{padding:var(--spacing-xl) var(--spacing-4xl);font-size:var(--font-size-2xl)}}.reservation-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.reservation-detail-modal-content{background-color:var(--color-background-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;border:2px solid var(--color-primary)}.reservation-detail-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.reservation-detail-modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.reservation-detail-modal-close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition-normal)}.reservation-detail-modal-close:hover{color:var(--color-text-primary);background-color:var(--color-background);border-radius:var(--border-radius-sm)}.reservation-detail-modal-body{padding:var(--spacing-xl)}.reservation-detail-info{margin-bottom:var(--spacing-xl)}.reservation-detail-field{margin-bottom:var(--spacing-lg)}.reservation-detail-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.reservation-detail-value{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0;word-break:break-word}.reservation-detail-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.reservation-detail-action-button{width:100%;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:var(--transition-normal);border:none;color:#fff}.reservation-detail-action-checkin{background-color:var(--color-primary)}.reservation-detail-action-checkin:hover{background-color:var(--color-primary-hover)}.reservation-detail-action-checkout{background-color:var(--color-error)}.reservation-detail-action-checkout:hover{background-color:#c62828}.reservation-detail-action-cancel{background-color:var(--color-warning)}.reservation-detail-action-cancel:hover{background-color:#f57c00}.reservation-detail-action-edit{background-color:var(--color-info)}.reservation-detail-action-edit:hover{background-color:#0288d1}.reservation-detail-extend-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.reservation-detail-extend-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:var(--transition-normal);border:1px solid var(--color-border);background-color:var(--color-background-light);color:var(--color-text-primary)}.reservation-detail-extend-button:hover{background-color:var(--color-border);border-color:var(--color-primary);color:var(--color-primary)}.reservation-detail-modal-footer{display:flex;justify-content:flex-end;padding:var(--spacing-xl);border-top:1px solid var(--color-border)}.reservation-detail-button{padding:var(--spacing-sm) var(--spacing-xl);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:var(--transition-normal)}.reservation-detail-button-close{background-color:var(--color-background);color:var(--color-text-primary)}.reservation-detail-button-close:hover{background-color:var(--color-border)}@media screen and (min-width: 1920px) and (min-height: 1080px){.reservation-detail-modal-content{max-width:800px}.reservation-detail-modal-title{font-size:var(--font-size-2xl)}.reservation-detail-value{font-size:var(--font-size-lg)}.reservation-detail-action-button{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.reservation-detail-modal-content{max-width:1000px}.reservation-detail-modal-title{font-size:var(--font-size-3xl)}.reservation-detail-value{font-size:var(--font-size-xl)}.reservation-detail-action-button{padding:var(--spacing-xl) var(--spacing-3xl);font-size:var(--font-size-xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.reservation-detail-modal-content{max-width:1400px}.reservation-detail-modal-title{font-size:var(--font-size-4xl)}.reservation-detail-value{font-size:var(--font-size-2xl)}.reservation-detail-action-button{padding:var(--spacing-2xl) var(--spacing-4xl);font-size:var(--font-size-2xl)}}.extend-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.extend-modal-content{background:var(--color-background);border-radius:var(--radius-xl);box-shadow:0 8px 32px #0003;max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease;border:2px solid var(--color-primary)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.extend-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);background:var(--color-primary)}.extend-modal-title{margin:0;font-size:var(--font-size-xl);font-weight:700;color:#fff}.extend-modal-close{background:none;border:none;font-size:32px;color:#fff;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-normal);padding:0;line-height:1}.extend-modal-close:hover{background:#fff3;transform:rotate(90deg)}.extend-modal-body{padding:var(--spacing-xl);background:var(--color-background)}.extend-modal-message{font-size:var(--font-size-base);color:var(--color-text-white);margin-bottom:var(--spacing-xl);text-align:center;font-family:var(--font-family)}.extend-options{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.extend-option-btn{flex:1;min-width:120px;max-width:140px;padding:var(--spacing-xl);background:var(--color-background-white);border:2px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);box-shadow:var(--shadow-sm)}.extend-option-btn:hover{background:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #c715854d}.extend-option-btn:hover .extend-option-value,.extend-option-btn:hover .extend-option-label{color:#fff}.extend-option-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary);transition:color var(--transition-normal)}.extend-option-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);transition:color var(--transition-normal);font-family:var(--font-family)}@media screen and (min-width: 1920px) and (min-height: 1080px){.extend-modal-content{max-width:700px}.extend-modal-title{font-size:var(--font-size-2xl)}.extend-modal-message{font-size:var(--font-size-lg)}.extend-option-btn{min-width:150px;max-width:180px;padding:var(--spacing-xl)}.extend-option-value{font-size:var(--font-size-3xl)}.extend-option-label{font-size:var(--font-size-base)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.extend-modal-content{max-width:900px}.extend-modal-title{font-size:var(--font-size-3xl)}.extend-modal-message{font-size:var(--font-size-xl)}.extend-option-btn{min-width:180px;max-width:220px;padding:var(--spacing-2xl)}.extend-option-value{font-size:var(--font-size-4xl)}.extend-option-label{font-size:var(--font-size-lg)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.extend-modal-content{max-width:1200px}.extend-modal-title{font-size:48px}.extend-modal-message{font-size:var(--font-size-2xl)}.extend-option-btn{min-width:220px;max-width:280px;padding:var(--spacing-3xl)}.extend-option-value{font-size:56px}.extend-option-label{font-size:var(--font-size-xl)}}.home-container{min-height:100vh;background-color:var(--color-background);display:flex;flex-direction:row;overflow:hidden}.home-room-image-container{width:clamp(280px,22vw,400px);height:clamp(280px,22vw,400px);flex-shrink:0;overflow:hidden;position:fixed;bottom:clamp(1.5rem,2vh,2rem);right:clamp(1.5rem,2vw,2rem);background-color:var(--color-background);border-radius:var(--radius-md);z-index:100}.home-room-image{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .2s ease}.home-room-image-container:hover .home-room-image{opacity:.9}.home-room-image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease;cursor:pointer}.home-room-image-modal-content{width:70%;max-width:90vw;max-height:90vh;position:relative;display:flex;align-items:center;justify-content:center;cursor:default;animation:scaleIn .3s ease}.home-room-image-modal-img{width:100%;height:auto;max-height:90vh;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.home-room-image-modal-close{position:absolute;top:-40px;right:0;background:transparent;border:none;color:var(--color-text-white);font-size:48px;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition-fast);z-index:10;line-height:1;padding:0}.home-room-image-modal-close:hover{background-color:#ffffff1a;transform:scale(1.1)}.home-room-image-modal-close:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.home-sidebar-time .spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.home-sidebar-time-date .spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.home-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary)}.home-sidebar{width:clamp(240px,18vw,300px);display:flex;flex-direction:column;align-items:center;padding:clamp(1rem,1.5vw,1.5rem);gap:clamp(.75rem,1.2vw,1rem);flex-shrink:0;height:calc(100vh - clamp(3rem,4vh,4rem));margin:clamp(1.5rem,2.5vh,2rem);overflow-y:auto;overflow-x:hidden;justify-content:flex-start;order:1;border-radius:var(--radius-md);min-height:0}.home-sidebar-free{background-color:var(--color-success)}.home-sidebar-occupied{background-color:var(--color-error)}.home-sidebar-checkin-window{background-color:var(--color-warning)}.home-sidebar-closed{background-color:var(--color-error)}.home-sidebar-logo{width:100%;max-width:130px;object-fit:contain;flex-shrink:0;cursor:pointer;transition:opacity .2s ease;margin-top:10%}.home-sidebar-logo:hover{opacity:.8}.home-sidebar-time{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 auto;gap:var(--spacing-md);min-height:0}.home-sidebar-time-hour{font-size:32px;font-weight:700;color:var(--color-text-white);text-align:center;line-height:1.2}.home-sidebar-time-date{font-size:23px;font-weight:700;color:var(--color-text-white);text-align:center;line-height:1.2}.home-sidebar-capacity{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);font-size:35px}.home-sidebar-capacity-icon{width:40px;height:40px;color:var(--color-text-white);flex-shrink:0}.home-sidebar-capacity-value{font-size:32px;font-weight:600;color:var(--color-text-white);line-height:1.2}.home-sidebar-qr{width:clamp(120px,10vw,200px);height:clamp(120px,10vw,200px);min-width:120px;min-height:120px;max-width:200px;max-height:200px;background:#fff;padding:clamp(.4rem,.6vw,.75rem);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;flex-grow:0;margin-top:auto;margin-bottom:clamp(.5rem,1vh,1rem);box-sizing:border-box;position:relative}.home-sidebar-qr img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block;box-sizing:border-box}.home-main-content{flex:1;background-color:var(--color-background);display:flex;flex-direction:column;overflow:hidden;padding:var(--spacing-3xl);gap:var(--spacing-2xl);order:2}.home-room-name{font-size:64px;font-weight:700;color:var(--color-text-white);margin:0;font-family:var(--font-family);letter-spacing:-1px;line-height:1.1;text-transform:uppercase}.home-current-reservation{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.home-reservation-time-range{font-size:48px;font-weight:600;color:var(--color-text-white);margin:0;line-height:1.2}.home-reservation-title{font-size:36px;font-weight:600;color:var(--color-text-white);margin:0;line-height:1.2}.home-reservation-host{font-size:28px;color:var(--color-text-secondary);margin:0;line-height:1.2}.home-reservation-host-label{font-weight:600}.home-status-container{display:flex;flex-direction:column;gap:var(--spacing-xl);margin:var(--spacing-xl) 0}.home-status-occupied{font-size:96px;font-weight:900;color:var(--color-error);text-transform:uppercase;letter-spacing:4px;line-height:1;margin:0;text-shadow:0 0 20px rgba(255,0,0,.5)}.home-status-free{font-size:96px;font-weight:900;color:var(--color-success);text-transform:uppercase;letter-spacing:4px;line-height:1;margin:0;text-shadow:0 0 20px rgba(70,196,113,.5)}.home-status-reserved{font-size:96px;font-weight:900;color:var(--color-warning);text-transform:uppercase;letter-spacing:4px;line-height:1;margin:0;text-shadow:0 0 20px rgba(255,152,0,.5)}.home-status-closed{font-size:96px;font-weight:900;color:var(--color-error);text-transform:uppercase;letter-spacing:4px;line-height:1;margin:0;text-shadow:0 0 20px rgba(255,0,0,.5)}.home-action-buttons{display:flex;flex-direction:row;gap:var(--spacing-md);flex-wrap:wrap}.home-action-btn{padding:var(--spacing-lg) var(--spacing-2xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:700;cursor:pointer;transition:all var(--transition-normal);color:#fff;text-transform:uppercase;letter-spacing:1px;min-width:150px;box-shadow:0 4px 12px #0000004d}.home-action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0006}.home-action-btn:active:not(:disabled){transform:translateY(0)}.home-action-btn:disabled{opacity:.5;cursor:not-allowed}.home-action-checkin{background-color:var(--color-success)}.home-action-checkin:hover:not(:disabled){background-color:#3aa85c}.home-action-checkout{background-color:var(--color-error)}.home-action-checkout:hover:not(:disabled){background-color:#c00}.home-action-extend{background-color:var(--color-warning)}.home-action-extend:hover:not(:disabled){background-color:#e68900}.home-action-cancel{background-color:#ff6b35}.home-action-cancel:hover:not(:disabled){background-color:#e55a2a}.home-action-edit{background-color:var(--color-info)}.home-action-edit:hover:not(:disabled){background-color:#0066b3}.home-upcoming-section{margin-top:clamp(1rem,2vh,1.5rem);max-width:calc(100% - clamp(350px,28vw,500px))}.home-upcoming-title{font-size:40px;font-weight:700;color:var(--color-text-white);margin-bottom:var(--spacing-xl);text-transform:uppercase;letter-spacing:2px}.home-reservations-list{display:flex;flex-direction:column;gap:clamp(.5rem,.8vw,1rem);max-height:clamp(300px,30vh,400px);overflow-y:auto;overflow-x:hidden;padding-right:clamp(.5rem,.8vw,1rem);padding-bottom:clamp(1rem,2vh,1.5rem);scroll-padding-bottom:clamp(1rem,2vh,1.5rem);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.home-reservation-card{background-color:var(--color-background-light);border-left:clamp(3px,.3vw,4px) solid var(--color-warning);padding:clamp(.75rem,1vw,1rem) clamp(1rem,1.5vw,1.5rem);border-radius:var(--radius-md);transition:var(--transition-normal);display:flex;flex-direction:row;align-items:center;gap:clamp(.75rem,1.2vw,1.5rem)}.home-reservation-card:hover{background-color:#222;transform:translate(4px)}.home-reservations-list>.home-reservation-card:last-child{margin-bottom:clamp(.5rem,1vh,1rem)}.home-reservation-card-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.home-reservation-card-actions{display:flex;gap:var(--spacing-md);flex-shrink:0;margin-left:auto;align-items:center}@media screen and (max-width: 999px){.home-reservation-card{flex-direction:column;align-items:flex-start}.home-reservation-card-actions{flex-direction:row;width:100%;margin-left:0;margin-top:var(--spacing-md);gap:var(--spacing-md);justify-content:flex-start}.home-reservation-card-btn{width:clamp(3rem,4vw,3.5rem);height:clamp(3rem,4vw,3.5rem);min-width:clamp(3rem,4vw,3.5rem)}}@media screen and (min-width: 1016px) and (max-width: 1400px){.home-reservation-card{flex-direction:column;align-items:flex-start}.home-reservation-card-actions{flex-direction:row;width:100%;margin-left:0;margin-top:var(--spacing-md);gap:var(--spacing-md);justify-content:flex-start}.home-reservation-card-btn{width:clamp(3rem,4vw,3.5rem);height:clamp(3rem,4vw,3.5rem);min-width:clamp(3rem,4vw,3.5rem)}}.home-reservation-card-time{font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:600;color:var(--color-text-white);margin-bottom:var(--spacing-xs);line-height:1.2}.home-reservation-card-title{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600;color:var(--color-text-white);margin-bottom:var(--spacing-xs);line-height:1.2}.home-reservation-card-host{font-size:clamp(.9rem,1.2vw,1.125rem);color:var(--color-text-secondary);line-height:1.2}.home-reservation-card-host .home-reservation-host-label{font-weight:600}.home-reservation-card-btn{padding:.75rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);color:#fff;display:flex;align-items:center;justify-content:center;width:clamp(3rem,4vw,3.5rem);height:clamp(3rem,4vw,3.5rem);min-width:clamp(3rem,4vw,3.5rem);flex-shrink:0}.home-reservation-card-icon{width:clamp(1.5rem,2vw,1.75rem);height:clamp(1.5rem,2vw,1.75rem);stroke-width:2.5}.home-reservation-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.home-reservation-card-btn:active{transform:translateY(0)}.home-reservation-card-edit{background-color:var(--color-info)}.home-reservation-card-edit:hover{background-color:#0066b3}.home-reservation-card-cancel{background-color:#ff6b35}.home-reservation-card-cancel:hover{background-color:#e55a2a}.home-quick-reservation-container{position:fixed;bottom:clamp(350px,28vw,450px);right:clamp(1.5rem,2vw,2rem);z-index:101}.home-quick-reservation-button{padding:var(--spacing-lg) var(--spacing-2xl);background-color:var(--color-primary);color:var(--color-text-white);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:700;cursor:pointer;transition:var(--transition-normal);box-shadow:0 4px 12px #c7158566;text-transform:uppercase;letter-spacing:1px}.home-quick-reservation-button:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px #c7158580}.home-checkin-window-text{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:500;margin-top:var(--spacing-xs)}.home-action-details{background-color:#333;border:1px solid rgba(255,255,255,.2)}.home-action-details:hover:not(:disabled){background-color:#444;border-color:#ffffff4d}.home-empty-state-text{font-size:var(--font-size-xl);color:var(--color-text-tertiary);font-weight:500;font-style:italic}.home-empty{color:var(--color-text-tertiary);font-size:var(--font-size-xl);text-align:center;margin-top:40px}.home-reservations-list::-webkit-scrollbar{width:8px}.home-reservations-list::-webkit-scrollbar-track{background:var(--color-background)}.home-reservations-list::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-md)}.home-reservations-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media screen and (min-width: 1024px) and (min-height: 768px) and (max-width: 1339px){.home-sidebar{width:clamp(220px,17vw,250px);padding:clamp(.875rem,1.3vw,1.25rem);height:calc(100vh - clamp(3rem,4vh,4rem));margin:clamp(1.5rem,2.5vh,2rem)}.home-sidebar-qr{width:clamp(110px,8.5vw,170px);height:clamp(110px,8.5vw,170px);min-width:110px;min-height:110px;max-width:170px;max-height:170px}.home-room-name{font-size:48px}.home-status-occupied,.home-status-free,.home-status-reserved{font-size:72px}.home-reservation-time-range{font-size:36px}.home-reservation-title{font-size:28px}.home-reservation-host{font-size:22px}.home-upcoming-title{font-size:32px}.home-reservation-card-time{font-size:clamp(1rem,1.5vw,1.25rem)}.home-reservation-card-title{font-size:clamp(.875rem,1.2vw,1rem)}.home-reservation-card-host{font-size:clamp(.75rem,1vw,.875rem)}}@media screen and (min-width: 1000px) and (max-width: 1015px) and (min-height: 600px) and (max-height: 620px){.home-sidebar{width:clamp(200px,15vw,240px);height:calc(100vh - clamp(2.5rem,3.5vh,3.5rem));margin:clamp(1rem,1.5vh,1.25rem);padding:clamp(.75rem,1.2vw,1rem)}.home-sidebar-time-hour{font-size:32px}.home-sidebar-time-date{font-size:23px}.home-sidebar-capacity-icon{width:40px;height:40px}.home-sidebar-capacity-value{font-size:32px}.home-sidebar-qr{width:clamp(100px,9vw,160px);height:clamp(100px,9vw,160px);min-width:100px;min-height:100px;max-width:160px;max-height:160px;padding:clamp(.3rem,.5vw,.6rem);margin-bottom:clamp(.25rem,.5vh,.5rem)}.home-room-name{font-size:clamp(2rem,3.5vw,2.75rem)}.home-status-occupied,.home-status-free,.home-status-reserved,.home-status-closed{font-size:clamp(3rem,5.5vw,4.5rem)}.home-reservation-time-range{font-size:clamp(1.5rem,2.8vw,2rem)}.home-reservation-title{font-size:clamp(1.25rem,2.2vw,1.75rem)}.home-reservation-host{font-size:clamp(1rem,1.8vw,1.375rem)}.home-upcoming-title{font-size:clamp(1.5rem,2.5vw,2rem)}.home-upcoming-section{max-width:calc(100% - clamp(300px,24vw,380px))}.home-reservation-card-time{font-size:clamp(.875rem,1.3vw,1.125rem)}.home-reservation-card-title{font-size:clamp(.75rem,1.1vw,.9375rem)}.home-reservation-card-host{font-size:clamp(.6875rem,1vw,.8125rem)}.home-action-btn{font-size:clamp(.75rem,1.1vw,.9375rem);padding:clamp(.625rem,.9vw,.875rem) clamp(.875rem,1.3vw,1.25rem);min-width:clamp(100px,7.5vw,120px)}.home-room-image-container{width:clamp(240px,19vw,300px);height:clamp(240px,19vw,300px)}.home-quick-reservation-container{bottom:clamp(260px,20.5vw,320px);right:clamp(1rem,1.5vw,1.25rem)}.home-quick-reservation-button{font-size:clamp(.75rem,1.1vw,.9375rem);padding:clamp(.625rem,.9vw,.875rem) clamp(.875rem,1.3vw,1.25rem)}.home-main-content{padding:clamp(1rem,1.5vw,1.5rem);gap:clamp(.75rem,1.2vw,1.25rem)}.home-reservations-list{max-height:clamp(180px,28vh,220px);padding-right:clamp(.75rem,1vw,1rem);padding-bottom:clamp(1.25rem,2.5vh,2rem);gap:clamp(.5rem,.7vw,.75rem);scroll-padding-bottom:clamp(1.25rem,2.5vh,2rem);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.home-reservations-list::-webkit-scrollbar{width:10px}.home-reservations-list::-webkit-scrollbar-track{background:var(--color-background);border-radius:var(--radius-md)}.home-reservations-list::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-md);border:2px solid var(--color-background)}.home-reservations-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.home-reservation-card{flex-direction:row;align-items:center;padding:clamp(.5rem,.8vw,.75rem) clamp(.75rem,1.2vw,1rem)}.home-reservation-card-content{flex:1;min-width:0}.home-reservation-card-actions{margin-left:auto;flex-direction:row;gap:clamp(.5rem,.7vw,.75rem)}.home-reservation-card-btn{width:clamp(2.5rem,3.5vw,3rem);height:clamp(2.5rem,3.5vw,3rem);min-width:clamp(2.5rem,3.5vw,3rem);padding:clamp(.5rem,.7vw,.625rem)}}@media screen and (min-width: 1920px) and (min-height: 1080px){.home-sidebar{width:clamp(300px,18vw,350px);padding:clamp(1.25rem,1.8vw,1.75rem);height:calc(100vh - clamp(3rem,4vh,4rem));margin:clamp(1.5rem,2.5vh,2rem)}.home-sidebar-qr{width:clamp(160px,10vw,220px);height:clamp(160px,10vw,220px);min-width:160px;min-height:160px;max-width:220px;max-height:220px}.home-room-name{font-size:72px}.home-status-occupied,.home-status-free,.home-status-reserved{font-size:120px}.home-action-btn{font-size:var(--font-size-xl);padding:var(--spacing-xl) var(--spacing-3xl)}.home-reservation-time-range{font-size:56px}.home-reservation-title{font-size:42px}.home-reservation-host{font-size:32px}.home-upcoming-title{font-size:48px}.home-reservation-card-time{font-size:clamp(1.375rem,1.8vw,1.75rem)}.home-reservation-card-title{font-size:clamp(1.25rem,1.5vw,1.5rem)}.home-reservation-card-host{font-size:clamp(1rem,1.3vw,1.25rem)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.home-sidebar{width:clamp(350px,16vw,400px);padding:clamp(1.5rem,2vw,2rem);height:calc(100vh - clamp(3rem,4vh,4rem));margin:clamp(1.5rem,2.5vh,2rem)}.home-sidebar-qr{width:clamp(180px,9vw,240px);height:clamp(180px,9vw,240px);min-width:180px;min-height:180px;max-width:240px;max-height:240px}.home-room-name{font-size:96px}.home-status-occupied,.home-status-free,.home-status-reserved{font-size:144px}.home-action-btn{font-size:var(--font-size-2xl);padding:var(--spacing-2xl) var(--spacing-4xl)}.home-reservation-time-range{font-size:72px}.home-reservation-title{font-size:56px}.home-reservation-host{font-size:42px}.home-upcoming-title{font-size:64px}.home-reservation-card-time{font-size:clamp(1.5rem,2vw,2rem)}.home-reservation-card-title{font-size:clamp(1.375rem,1.7vw,1.75rem)}.home-reservation-card-host{font-size:clamp(1.125rem,1.5vw,1.5rem)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.home-sidebar{width:clamp(450px,13vw,500px);padding:clamp(1.75rem,2.2vw,2.5rem);height:calc(100vh - clamp(3rem,4vh,4rem));margin:clamp(1.5rem,2.5vh,2rem)}.home-sidebar-qr{width:clamp(200px,8vw,280px);height:clamp(200px,8vw,280px);min-width:200px;min-height:200px;max-width:280px;max-height:280px}.home-room-name{font-size:128px}.home-status-occupied,.home-status-free,.home-status-reserved{font-size:192px}.home-action-btn{font-size:var(--font-size-3xl);padding:var(--spacing-3xl) var(--spacing-5xl)}.home-reservation-time-range{font-size:96px}.home-reservation-title{font-size:72px}.home-reservation-host{font-size:56px}.home-upcoming-title{font-size:80px}.home-reservation-card-time{font-size:clamp(1.75rem,2.2vw,2.25rem)}.home-reservation-card-title{font-size:clamp(1.5rem,2vw,2rem)}.home-reservation-card-host{font-size:clamp(1.375rem,1.8vw,1.75rem)}}.setup-container{min-height:100vh;height:100vh;padding:40px;background-color:var(--color-background);display:flex;flex-direction:column;overflow:hidden}.setup-header{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-bottom:40px;flex-shrink:0}.setup-header-top{display:flex;justify-content:space-between;align-items:center;width:100%}.setup-logo{max-width:250px;max-height:70px;object-fit:contain;height:auto}.setup-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);font-weight:600;font-family:var(--font-family);margin:0}.setup-search-container{width:100%;margin-top:var(--spacing-lg)}.setup-search-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background-light);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-white);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-normal)}.setup-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #c7158533}.setup-search-input::placeholder{color:var(--color-text-tertiary)}.setup-back-button{padding:10px var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-primary);background-color:transparent;color:var(--color-primary);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:var(--transition-normal);font-family:var(--font-family)}.setup-back-button:hover:not(:disabled){background-color:#c715851a;border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.setup-back-button:active:not(:disabled){transform:scale(.98)}.setup-logout-button{padding:10px var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-primary);background-color:transparent;color:var(--color-primary);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:var(--transition-normal);font-family:var(--font-family)}.setup-logout-button:hover:not(:disabled){background-color:#c715851a;border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.setup-logout-button:active:not(:disabled){transform:scale(.98)}.setup-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;min-height:0;height:0}.setup-content::-webkit-scrollbar{width:12px}.setup-content::-webkit-scrollbar-track{background:var(--color-background-light);border-radius:var(--radius-md)}.setup-content::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-md);border:2px solid var(--color-background-light)}.setup-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.setup-empty{color:var(--color-text-tertiary);font-size:var(--font-size-xl);text-align:center;margin-top:40px}.setup-rooms-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.setup-room-item{background-color:var(--color-background-white);border-radius:var(--radius-xl);padding:var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;border:2px solid var(--color-border);cursor:pointer;transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.setup-room-item:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.setup-room-item-selected{border-color:var(--color-primary);background-color:#c715850d}.setup-room-item:disabled{opacity:.6;cursor:not-allowed}.setup-room-text{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:500;font-family:var(--font-family)}.setup-room-text-selected{color:var(--color-primary);font-weight:600}.setup-checkmark{color:var(--color-primary);font-size:28px;font-weight:700}.setup-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-lg);background-color:var(--color-background)}.setup-loading p{color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:var(--font-family)}.setup-saving-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;width:100vw;height:100vh;margin:0;padding:0}.setup-saving-overlay .spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.setup-version{position:fixed;bottom:var(--spacing-md);left:50%;transform:translate(-50%);font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family);opacity:.7;z-index:1}@media screen and (min-width: 1024px) and (min-height: 768px) and (max-width: 1339px){.setup-container{padding:40px}.setup-logo{max-width:250px;max-height:70px}.setup-title{font-size:var(--font-size-2xl)}.setup-room-text{font-size:var(--font-size-3xl)}}@media screen and (min-width: 1000px) and (max-width: 1015px) and (min-height: 600px) and (max-height: 620px){.setup-container{padding:48px}.setup-logo{max-width:300px;max-height:84px}.setup-title{font-size:24px}.setup-room-text{font-size:28px}.setup-room-item{padding:var(--spacing-2xl)}.setup-logout-button{padding:12px var(--spacing-2xl);font-size:var(--font-size-lg)}}@media screen and (min-width: 1920px) and (min-height: 1080px){.setup-container{padding:var(--spacing-3xl)}.setup-logo{max-width:360px;max-height:108px}.setup-title,.setup-room-text{font-size:32px}.setup-room-item{padding:var(--spacing-3xl)}.setup-room-item-text{font-size:var(--font-size-lg)}.setup-logout-button{padding:var(--spacing-lg) var(--spacing-3xl);font-size:var(--font-size-xl)}}@media screen and (min-width: 2560px) and (min-height: 1440px){.setup-container{padding:var(--spacing-4xl)}.setup-logo{max-width:420px;max-height:126px}.setup-title,.setup-room-text{font-size:36px}.setup-room-item{padding:var(--spacing-4xl)}.setup-room-item-text{font-size:var(--font-size-xl)}.setup-logout-button{padding:var(--spacing-xl) var(--spacing-4xl);font-size:var(--font-size-2xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){.setup-container{padding:var(--spacing-5xl)}.setup-logo{max-width:500px;max-height:150px}.setup-title,.setup-room-text{font-size:48px}.setup-room-item{padding:var(--spacing-5xl)}.setup-room-item-text{font-size:var(--font-size-2xl)}.setup-logout-button{padding:var(--spacing-2xl) var(--spacing-5xl);font-size:var(--font-size-3xl)}}.install-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10000;animation:slideUpPrompt .3s ease-out}@keyframes slideUpPrompt{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.install-prompt-content{background:var(--color-background-white);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--spacing-lg);max-width:500px;border:1px solid var(--color-border)}.install-prompt-icon{font-size:32px;flex-shrink:0}.install-prompt-text{flex:1}.install-prompt-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-family:var(--font-family)}.install-prompt-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-family)}.install-prompt-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.install-prompt-button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:var(--transition-normal);border:none;font-family:var(--font-family);white-space:nowrap}.install-prompt-button-install{background-color:var(--color-primary);color:var(--color-text-white)}.install-prompt-button-install:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.install-prompt-button-dismiss{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.install-prompt-button-dismiss:hover{background-color:var(--color-background-light);color:var(--color-text-primary)}@media (max-width: 768px){.install-prompt{left:var(--spacing-lg);right:var(--spacing-lg);transform:none}.install-prompt-content{flex-direction:column;text-align:center}.install-prompt-actions{width:100%;flex-direction:column}.install-prompt-button{width:100%}}.network-status-indicator{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:10000;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:#0009;border-radius:var(--radius-md);padding:var(--spacing-xs);transition:all .3s ease;pointer-events:none}.network-status-indicator.online{box-shadow:0 2px 6px #ffffff26;background-color:#00000080}.network-status-indicator.online .network-status-icon{color:var(--color-text-primary);filter:drop-shadow(0 0 3px rgba(255,255,255,.4))}.network-status-indicator.offline{box-shadow:0 2px 8px #ff00004d;animation:pulse-red 1.5s ease-in-out infinite}.network-status-indicator.offline .network-status-icon{color:var(--color-error);filter:drop-shadow(0 0 4px rgba(255,0,0,.8))}.network-status-icon{width:100%;height:100%;display:block;overflow:visible}.offline-x{stroke:var(--color-error);opacity:.95}@keyframes pulse-red{0%,to{opacity:1;transform:scale(1);box-shadow:0 2px 8px #ff00004d}50%{opacity:.6;transform:scale(1.1);box-shadow:0 4px 16px #f009}}@media screen and (min-width: 1920px){.network-status-indicator{width:42px;height:42px;top:var(--spacing-lg);right:var(--spacing-lg)}}@media screen and (min-width: 2560px){.network-status-indicator{width:48px;height:48px;right:var(--spacing-xl)}}.custom-toast-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;pointer-events:none;width:90%;max-width:600px}.custom-toast{background-color:#fff;border-radius:var(--radius-xl);padding:var(--spacing-xl) var(--spacing-2xl);box-shadow:0 8px 32px #00000080,0 0 0 1px #0000001a;display:flex;align-items:center;gap:var(--spacing-lg);min-width:300px;max-width:100%;pointer-events:auto;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(-20px) scale(.95);border:3px solid transparent;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.custom-toast-visible{opacity:1;transform:translateY(0) scale(1)}.custom-toast-exiting{opacity:0;transform:translateY(-20px) scale(.95)}.custom-toast-success{border-color:var(--color-success);background:#fff;box-shadow:0 8px 32px #00000080,0 0 0 3px var(--color-success)}.custom-toast-error{border-color:var(--color-error);background:#fff;box-shadow:0 8px 32px #00000080,0 0 0 3px var(--color-error)}.custom-toast-warning{border-color:var(--color-warning);background:#fff;box-shadow:0 8px 32px #00000080,0 0 0 3px var(--color-warning)}.custom-toast-info{border-color:var(--color-info);background:#fff;box-shadow:0 8px 32px #00000080,0 0 0 3px var(--color-info)}.custom-toast-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.custom-toast-success .custom-toast-icon{color:var(--color-success);background-color:#46c4711a}.custom-toast-error .custom-toast-icon{color:var(--color-error);background-color:#ff00001a}.custom-toast-warning .custom-toast-icon{color:var(--color-warning);background-color:#ff98001a}.custom-toast-info .custom-toast-icon{color:var(--color-info);background-color:#0066b31a}.custom-toast-message{flex:1;font-size:var(--font-size-xl);font-weight:600;color:#1a1a1a;line-height:1.5;font-family:var(--font-family);word-wrap:break-word;text-shadow:0 1px 2px rgba(255,255,255,.8)}.custom-toast-close{flex-shrink:0;background:transparent;border:none;color:#333;cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s;width:32px;height:32px}.custom-toast-close:hover{background-color:#0000001a;color:#000}.custom-toast-close:active{transform:scale(.9)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}@media screen and (min-width: 1024px) and (min-height: 768px){.custom-toast{padding:var(--spacing-2xl) var(--spacing-3xl);min-width:450px}.custom-toast-message{font-size:24px;font-weight:700}.custom-toast-icon{width:48px;height:48px}}@media screen and (min-width: 1000px) and (max-width: 1015px) and (min-height: 600px) and (max-height: 620px){.custom-toast{padding:var(--spacing-2xl) var(--spacing-3xl);min-width:500px}.custom-toast-message{font-size:26px;font-weight:700}.custom-toast-icon{width:52px;height:52px}}:root{--color-primary: #C71585;--color-primary-hover: #A71570;--color-primary-active: #951569;--color-secondary: #5e4164;--color-secondary-hover: #764878;--color-text-primary: #ffffff;--color-text-secondary: #cccccc;--color-text-tertiary: #999999;--color-text-white: #ffffff;--color-text-black: #000000;--color-background: #000000;--color-background-light: #1a1a1a;--color-background-white: #000000;--color-background-dark: #000000;--color-background-sidebar: #d32f2f;--color-border: #333333;--color-border-dark: #555555;--color-border-medium: #444444;--color-border-focus: #C71585;--color-link: #A259D9;--color-link-hover: #8A4BC7;--color-success: #46C471;--color-error: #ff0000;--color-danger: #ff0000;--color-warning: #ff9800;--color-info: #0078d4;--color-reserved: #ff6b35;--color-occupied: #ff0000;--color-free: #46C471;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .15);--shadow-primary: 0 4px 12px rgba(199, 21, 133, .3);--transition-fast: .2s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s ease;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 50px;--font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 36px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--spacing-4xl: 64px;--spacing-5xl: 80px}*{margin:0;padding:0;box-sizing:border-box}html{width:100%;height:100%;aspect-ratio:auto 16 / 9}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text-primary);overflow:hidden;width:100vw;height:100vh;position:fixed}#root{width:100%;height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit;cursor:pointer;border:none;outline:none}input{font-family:inherit;outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background-light)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media screen and (min-width: 1024px) and (min-height: 768px){body{font-size:var(--font-size-base)}}@media screen and (min-width: 1000px) and (max-width: 1015px) and (min-height: 600px) and (max-height: 620px){body{font-size:var(--font-size-base)}}@media screen and (orientation: landscape) and (min-width: 1024px){body{overflow:hidden}}@media screen and (min-width: 1920px) and (min-height: 1080px){body{font-size:var(--font-size-lg)}}@media screen and (min-width: 2560px) and (min-height: 1440px){body{font-size:var(--font-size-xl)}}@media screen and (min-width: 3840px) and (min-height: 2160px){body{font-size:var(--font-size-2xl)}}
