:root{--background:#d4eaf6;--text:#2f4052;--secondary:#faf3e7;--button:#3b82c7}:root[data-theme=dark]{--background:#304153;--text:#f6f5ec;--secondary:#efc064;--button:#55a4b4}:root{--font-family:"Inter", sans-serif;--base-font-size:16px;--line-height:1.6}html,body{font-family:var(--font-family);font-size:var(--base-font-size);line-height:var(--line-height);color:var(--text);background-color:var(--background);margin:0;padding:0;transition:background-color .3s,color .3s;overflow-x:hidden}input,textarea,select{border:1px solid var(--button);width:90%;color:var(--text);background-color:#ffffff1a;border-radius:6px;margin:8px 0;padding:12px;transition:border-color .3s}input:focus,textarea:focus,select:focus{border-color:var(--button);box-shadow:0 0 0 2px rgba(var(--button), .2);outline:none}.button{background-color:var(--button);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.07em;border:none;border-radius:8px;padding:12px 28px;font-size:.9rem;font-weight:600;transition:transform .25s,box-shadow .25s,opacity .2s}.button:hover{opacity:.93;transform:translateY(-2px);box-shadow:0 6px 18px #3b82c74d}.button:active{box-shadow:none;transform:translateY(0)}.button{text-decoration:none}.button-secondary{background-color:var(--secondary);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:.07em;border:none;border-radius:8px;padding:12px 28px;font-size:.9rem;font-weight:600;transition:transform .25s,box-shadow .25s,opacity .2s}.button-secondary:hover{opacity:.93;transform:translateY(-2px);box-shadow:0 6px 18px #3b82c74d}.button-secondary:active{box-shadow:none;transform:translateY(0)}.button-outline{color:var(--button);cursor:pointer;text-transform:uppercase;letter-spacing:.07em;background-color:#0000;border:none;border-radius:8px;padding:12px 28px;font-size:.9rem;font-weight:600;transition:transform .25s,box-shadow .25s,opacity .2s}.button-outline:hover{opacity:.93;transform:translateY(-2px);box-shadow:0 6px 18px #3b82c74d}.button-outline:active{box-shadow:none;transform:translateY(0)}.button-outline{border:2px solid var(--button)}h1,h2,h3,h4,h5,h6{margin:.5em 0;font-weight:600}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.text-center{text-align:center}.admin{--background:#435a73;--secondary:#f4d392}.admin .dashboard-panel{background-color:var(--secondary);background-color:var(--secondary);border:1px solid var(--button);border-radius:12px;margin:1rem 0;padding:1.5rem;transition:transform .25s,box-shadow .25s;box-shadow:0 6px 24px #2f40521a,0 2px 6px #2f40520f}.spacing-small{margin:.5rem}.spacing-medium{margin:1rem}.spacing-large{margin:2rem}.shadow-small{box-shadow:0 2px 4px #0000001a}.shadow-medium{box-shadow:0 4px 6px #0000001a}.shadow-large{box-shadow:0 8px 12px #0000001a}@media (width<=480px){.hidden-mobile{display:none!important}}.loading{z-index:1000;backdrop-filter:blur(3px);flex-flow:column;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loading-booking{backdrop-filter:blur(15px);animation:1s 1s forwards filter-blur}@keyframes filter-blur{to{backdrop-filter:blur(1px)}}.loading img{width:200px;max-width:80%;height:auto}.policy-section{background-color:#fff;border-radius:1rem;max-width:900px;margin:8rem auto 2rem;padding:2rem;box-shadow:0 4px 8px #0000000d}.policy-section h1{margin-bottom:1rem;font-size:2.5rem}.policy-section h2{margin-top:2rem;margin-bottom:.5rem;font-size:1.5rem}.policy-section p{margin-bottom:1rem;line-height:1.6}.policy-section ul{margin-left:1.5rem;list-style:outside}.policy-section ul li{margin-bottom:.5rem}.policy-section a{color:#304153;text-decoration:underline}.policy-section a:hover{text-decoration:none}.policy-version-banner{background-color:#fff3cd;border:2px solid #e0a800;border-left:6px solid #b8860b;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.policy-version-banner .policy-version-banner__draft{color:#7a5b00;letter-spacing:.02em;text-transform:uppercase;margin-bottom:.4rem;font-size:1.05rem;font-weight:700;display:block}.policy-version-banner .policy-version-banner__meta{color:#4a3900;margin:0;font-size:.95rem;display:block}.policy-version-banner .policy-version-banner__meta code{background-color:#0000000f;border-radius:.25rem;padding:.1rem .35rem;font-size:.85rem}.policy-agreement{align-items:flex-start;margin-top:1rem;font-size:1rem;display:flex}.policy-agreement label{cursor:pointer;gap:.5rem;line-height:1.5;display:flex}.policy-agreement input[type=checkbox]{accent-color:#304153;width:18px;height:18px;margin-top:.2rem}.policy-agreement a{color:#304153;font-weight:500;text-decoration:underline}.policy-agreement a:hover{text-decoration:none}.admin-sidebar{background-color:var(--secondary);z-index:1000;flex-direction:column;width:260px;height:100vh;transition:width .28s;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:2px 0 12px #0000001f}.admin-sidebar.collapsed{width:48px}.admin-sidebar.collapsed .sidebar-group-label{display:none}.admin-sidebar.collapsed .sidebar-link{text-indent:-9999px;pointer-events:none;padding-left:0}.admin-sidebar.collapsed .sidebar-footer .logout-btn{border-radius:50%;width:32px;height:32px;padding:0;font-size:1rem;line-height:32px}.admin-sidebar .sidebar-header{border-bottom:1px solid #00000014;flex-flow:row;flex-shrink:0;justify-content:space-between;align-items:center;min-height:72px;padding:.75rem .75rem .75rem 1rem;display:flex}.admin-sidebar .sidebar-header .sidebar-logo{display:block}.admin-sidebar .sidebar-header .sidebar-logo img{width:auto;height:50px}.admin-sidebar .sidebar-header .sidebar-toggle{cursor:pointer;width:28px;height:28px;color:var(--text);background:0 0;border:1px solid #00000026;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:background .2s;display:flex}.admin-sidebar .sidebar-header .sidebar-toggle:hover{background-color:var(--button);color:#fff;border-color:var(--button)}.admin-sidebar .sidebar-nav{scrollbar-width:thin;scrollbar-color:#00000026 transparent;flex:1;padding:.5rem 0;overflow:hidden auto}.admin-sidebar .sidebar-nav::-webkit-scrollbar{width:4px}.admin-sidebar .sidebar-nav::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.admin-sidebar .sidebar-group{margin-bottom:.125rem}.admin-sidebar .sidebar-group ul{margin:0;padding:0;list-style:none}.admin-sidebar .sidebar-group-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text);opacity:.5;white-space:nowrap;padding:.6rem 1rem .2rem;font-size:.68rem;display:block}.admin-sidebar .sidebar-link{color:var(--text);white-space:nowrap;border-radius:6px;margin:1px 8px;padding:.45rem .75rem .45rem 1.25rem;font-size:.875rem;text-decoration:none;transition:background .18s,color .18s;display:block}.admin-sidebar .sidebar-link:hover{color:var(--button);background-color:#3b82c71f}.admin-sidebar .sidebar-link.active{background-color:var(--button);color:#fff;font-weight:600}.admin-sidebar .sidebar-footer{border-top:1px solid #00000014;flex-shrink:0;padding:.75rem 1rem}.admin-sidebar .sidebar-footer .logout-btn{background-color:var(--button);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.07em;border:none;border-radius:8px;padding:12px 28px;font-size:.9rem;font-weight:600;transition:transform .25s,box-shadow .25s,opacity .2s}.admin-sidebar .sidebar-footer .logout-btn:hover{opacity:.93;transform:translateY(-2px);box-shadow:0 6px 18px #3b82c74d}.admin-sidebar .sidebar-footer .logout-btn:active{box-shadow:none;transform:translateY(0)}.admin-sidebar .sidebar-footer .logout-btn{width:100%;padding:8px 16px;font-size:.8rem;transition:width .28s,border-radius .28s,padding .28s,background .2s}.admin-layout{min-height:100vh;display:flex}.admin-content{flex:1;min-width:0;margin-left:260px;transition:margin-left .28s}body.sidebar-collapsed .admin-content{margin-left:48px}.admin-breadcrumb{max-width:1300px;color:var(--text);align-items:center;gap:.5rem;margin:.5rem auto 1rem;padding:0 1rem;font-size:.95rem;display:inline-flex}.admin-breadcrumb a{color:var(--button);text-decoration:none}.admin-breadcrumb a:hover{text-decoration:underline}.admin-breadcrumb .breadcrumb-separator{color:var(--text)}.admin-navbar.mobile-only{display:none}@media (width<=768px){.admin-sidebar{display:none}.admin-layout{flex-direction:column}.admin-content{padding-top:85px;margin-left:0!important}.admin-navbar.mobile-only{z-index:1000;background-color:var(--secondary);display:block;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #0000001a}.navbar-container{flex-flow:row;justify-content:space-between;align-items:center;margin-inline:1rem;display:flex}.logo img{width:unset;height:65px;margin-top:10px}.logout-btn{background-color:var(--button);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.07em;border:none;border-radius:8px;padding:12px 28px;font-size:.9rem;font-weight:600;transition:transform .25s,box-shadow .25s,opacity .2s}.logout-btn:hover{opacity:.93;transform:translateY(-2px);box-shadow:0 6px 18px #3b82c74d}.logout-btn:active{box-shadow:none;transform:translateY(0)}.logout-btn{margin-right:1rem}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;padding:.5rem}.hamburger .hamburger-line{background-color:var(--text);width:25px;height:2px;margin:5px 0;transition:all .3s;display:block}.hamburger.open .hamburger-line:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open .hamburger-line:nth-child(2){opacity:0}.hamburger.open .hamburger-line:nth-child(3){transform:rotate(-45deg)translate(7px,-6px)}.mobile-menu{background-color:var(--secondary);opacity:0;pointer-events:none;z-index:999;transition:all .5s;position:fixed;top:85px;left:0;right:0;transform:translateY(-110%);box-shadow:0 4px 6px #0000001a}.mobile-menu.open{opacity:1;pointer-events:all;max-height:70vh;overflow-y:scroll;transform:translateY(0)}.mobile-group{border-bottom:1px solid #0000000f}.mobile-group-label{text-transform:uppercase;letter-spacing:.1em;opacity:.5;padding:.6rem 1.5rem .2rem;font-size:.68rem;display:block}.mobile-link{color:var(--text);padding:.75rem 2rem;text-decoration:none;transition:background-color .2s;display:block}.mobile-link:hover{background-color:var(--button);color:#fff}.mobile-link.active{background-color:var(--button);color:#fff;font-weight:600}}
