@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";:root{--color-background: #fefefe;--color-primary: #ffffff;--color-secondary: #e8e8e8;--color-special: #3b9c3b;--color-border: #d0d0d0;--text-primary: #000;--text-secondary: #262626;--button-login: #565656;--button-refresh: #4b4b4b;--button-logout: #d31b1b;--button-confirm: #1a971a;--status-pending: #ffc400;--status-confirmed: #1a971a;--status-rejected: #d31b1b;--status-cancelled: #ddd;--h-line: #3b9c3b}::-webkit-scrollbar{width:0px}body,#root{margin:0;height:100dvh;width:100vw;font-family:Poppins,sans-serif;font-size:medium;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);scroll-behavior:smooth;scroll-padding-top:70px;box-sizing:border-box;overflow:auto;overflow-x:hidden;-webkit-user-select:none;-ms-user-select:none;user-select:none}.page-wrapper{width:100%}@media screen and (max-width: 768px){.page-wrapper{width:85%}}.h-line{height:2px;margin-bottom:20px;border-radius:10px;width:100%;background:var(--h-line)}h1,h2,h3,h4,p,a,span,button,ul{text-decoration:none;color:var(--text-primary);margin:0;line-height:1.25;font-weight:400}h1{font-size:clamp(2.4em,40px,3em);font-weight:500}.subtitle{font-size:clamp(1.3em,24px,1.7em)}h2{font-size:clamp(2em,34px,2.4em);font-weight:600}h3{font-size:clamp(1.3em,24px,1.7em)}p{font-size:clamp(.8em,16px,1.2em);color:var(--text-secondary)}span,button{font-size:clamp(1em,20px,1.8em)}button{background:var(--button-login);border:none;padding:0;cursor:pointer}#login{position:relative;display:flex;justify-content:center;align-items:center;width:100vw;min-height:100vh}.login-container{border-radius:20px;box-shadow:0 0 30px 2px #0000001a;padding:2.5rem 2rem;min-width:320px;display:flex;flex-direction:column;gap:1.5rem;background:var(--color-primary)}.login-header{display:flex;flex-direction:row;align-items:center;justify-content:left}.login-logo{width:40px;height:40px}.login-container h2 .first{color:var(--color-special)}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form label{font-weight:500;color:var(--text-primary)}.login-form input{padding:.7em 1em;border-radius:8px;border:1px solid var(--color-border);font-size:1em;background:#f8f8f8;outline:none}.login-button{margin-top:1rem;padding:.8em 0;border-radius:8px;font-weight:600;font-size:1.1em;color:var(--color-primary);transition:background .3s ease-in-out}.login-button:hover{background:#000c}.error-message{background:#ff4757;color:#fff;padding:.8em 1em;border-radius:8px;font-size:.9em;text-align:center;margin-bottom:.5rem}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button:disabled:hover{background:var(--text-primary)}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{width:100%;padding-right:3rem}.password-toggle{position:absolute;background:none;right:.75rem;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .3s ease-in-out}.password-toggle:disabled{opacity:.6;cursor:not-allowed}.eye-icon{color:var(--button-login);font-size:1.25rem!important}.eye-icon:hover{color:#000c}.dashboard{min-height:100vh;background-color:#f8f9fa}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e9ecef}.header-logo{display:flex;flex-direction:row;align-items:center;justify-content:left}.logo-img{width:48px;height:48px}.header-logo h1 .first{color:var(--color-special)}.header-actions{display:flex;gap:1rem}.refresh-btn,.logout-btn{padding:12px 20px;border-radius:30px;font-size:20px;cursor:pointer;background:transparent;transition:all .3s ease}.refresh-btn{border:2px solid var(--text-primary)}.refresh-btn:hover{background:var(--text-primary);color:var(--color-primary)}.logout-btn{border:2px solid var(--button-logout);color:var(--button-logout)}.logout-btn:hover{background:var(--button-logout);color:var(--color-primary)}.spinner{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-btn:disabled{opacity:.7;cursor:not-allowed}.refresh-btn:disabled:hover{background:transparent;color:var(--text-primary)}.loading{text-align:center;font-size:1.2rem;color:var(--text-secondary);padding:3rem}.error-message{background:#ff4757;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.no-bookings{text-align:center;font-size:1.2rem;color:var(--text-secondary);margin:4rem;padding:4rem;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a}.bookings-container{display:flex;flex-direction:column;gap:10px;padding:4rem}.booking-card{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:1.5rem}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.booking-id{display:flex;justify-content:center;align-items:center;font-weight:600;color:var(--text-secondary);font-size:.9rem}.booking-id span{font-weight:600;color:var(--text-secondary);font-size:1.2rem;margin-right:.5rem}.booking-status{text-transform:uppercase;padding:12px 20px;border-radius:30px;font-size:14px;background:transparent;transition:all .3s ease}.status-pending{border:2px solid var(--status-pending);color:var(--status-pending)}.status-confirmed{border:2px solid var(--status-confirmed);color:var(--status-confirmed)}.status-rejected{border:2px solid var(--status-rejected);color:var(--status-rejected)}.status-cancelled{border:2px solid var(--status-cancelled);color:var(--status-cancelled)}.booking-details{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.booking-info{display:flex;flex-direction:row;gap:30px}.guest-info{display:flex;flex-direction:row;gap:20px}.guest-labels{display:flex;flex-direction:column}.guest-labels span{font-weight:600;font-size:16px;color:var(--text-secondary)}.guest-values{display:flex;flex-direction:column}.guest-values span{font-weight:400;font-size:16px;color:var(--text-primary)}.stay-info{display:flex;flex-direction:row;gap:20px}.stay-labels{display:flex;flex-direction:column}.stay-labels span{font-weight:600;font-size:16px;color:var(--text-secondary)}.stay-values{display:flex;flex-direction:column}.stay-values span{font-weight:400;font-size:16px;color:var(--text-primary)}.additional-info{max-width:25%;max-height:100px;max-width:500px;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;white-space:normal}.additional-info::-webkit-scrollbar{width:6px}.additional-info::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.additional-info::-webkit-scrollbar-thumb{background:var(--color-special);border-radius:3px}.additional-info::-webkit-scrollbar-thumb:hover{background:#2d7a2d}.additional-info strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.additional-info p{margin:0;color:var(--text-secondary);font-style:italic}.booking-meta{display:flex;flex-direction:column}.booking-meta small{color:var(--text-secondary);font-size:.8rem}.booking-actions{display:flex;flex-direction:column;gap:.75rem;flex-wrap:wrap}.action-btn{padding:12px 20px;border-radius:30px;font-size:18px;cursor:pointer;background:transparent;transition:all .3s ease}.action-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-btn{border:2px solid var(--button-confirm);color:var(--button-confirm)}.confirm-btn:hover:not(:disabled){background:var(--button-confirm);color:var(--color-primary)}.reject-btn{border:2px solid var(--button-logout);color:var(--button-logout)}.reject-btn:hover:not(:disabled){background:var(--button-logout);color:var(--color-primary)}.cancel-btn{background:#636e72;color:#fff}.cancel-btn:hover:not(:disabled){background:#2d3436;transform:translateY(-1px)}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:stretch}.dashboard-header h1{font-size:2rem;text-align:center}.bookings-grid{grid-template-columns:1fr}.booking-actions{flex-direction:column}.action-btn{min-width:unset}}
