@charset "UTF-8";:root{--primary: #003b95;--primary-hover: #0057b8;--accent: #28a1c3;--dark: #140054;--bg-light: #f5f5f5;--bg-white: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666666;--error: #d93025;--success: #1e8e3e;--warning: #f9ab00}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg-light);color:var(--text-primary);line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;font-family:inherit}button:focus,button:active{outline:none}.currency-selector-compact{display:flex;align-items:center;gap:6px;background:#f1f5f9;border-radius:8px;padding:8px 12px;cursor:pointer}.currency-selector-compact select{border:none;background:transparent;font-size:.9rem;font-weight:500;color:#334155;cursor:pointer;padding-right:8px}.currency-selector-compact select:focus{outline:none}.currency-selector-compact svg{color:#64748b}.currency-selector{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0}.currency-selector-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.currency-selector-header h3{margin:0;font-size:1.1rem;color:#1e293b}.currency-selector-header svg{color:#3b82f6}.currency-selector-description{color:#64748b;font-size:.9rem;margin:0 0 20px}.currency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.currency-option{display:flex;flex-direction:column;align-items:center;padding:16px 12px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s ease}.currency-option:hover{border-color:#3b82f6;background:#f8fafc}.currency-option.active{border-color:#3b82f6;background:#eff6ff}.currency-symbol{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:4px}.currency-code{font-size:.95rem;font-weight:600;color:#334155}.currency-name{font-size:.75rem;color:#64748b;text-align:center;margin-top:2px}.currency-rate-info{margin-top:16px;padding:12px;background:#f8fafc;border-radius:8px;text-align:center;color:#64748b;font-size:.85rem}@media(max-width:640px){.currency-grid{grid-template-columns:repeat(3,1fr);gap:8px}.currency-option{padding:12px 8px}.currency-symbol{font-size:1.25rem}.currency-name{display:none}}.currency-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.currency-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.currency-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.currency-modal-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.currency-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-light);border:none;outline:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:background .2s}.currency-modal-close:hover{background:#e0e0e0}.currency-modal-body{padding:16px 20px;overflow-y:auto}.header{background:var(--bg-white);border-bottom:1px solid #eee;position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;padding:15px 20px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:8px;text-decoration:none}.logo-text{font-size:1.4rem;font-weight:700;color:var(--primary)}.header-nav{display:flex;align-items:center;gap:12px}.nav-btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.nav-btn-outline{background:transparent;border:1px solid #ddd;color:var(--text-primary)}.nav-btn-outline:hover{border-color:var(--primary);color:var(--primary)}.nav-btn-primary{background:var(--primary);border:1px solid var(--primary);color:var(--bg-white)}.nav-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}@media(max-width:768px){.nav-btn{padding:8px 14px;font-size:.85rem}}.user-menu-container{position:relative;outline:none}.avatar-btn{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;outline:none;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #eee;transition:border-color .2s,box-shadow .2s;pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.avatar-btn:hover .user-avatar{border-color:var(--primary);box-shadow:0 0 0 2px #1a56db33}.user-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:260px;z-index:1000;overflow:hidden;animation:dropdownFade .15s ease}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{padding:16px;display:flex;flex-direction:column;gap:2px}.dropdown-user-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.dropdown-user-email{font-size:.8rem;color:var(--text-secondary)}.dropdown-divider{height:1px;background:#eee;margin:4px 0}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;outline:none;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:background .15s;text-align:left}.dropdown-item:hover{background:var(--bg-light)}.dropdown-item svg{color:var(--text-secondary);flex-shrink:0}.dropdown-item span{flex:1}.dropdown-item-danger{color:#dc3545}.dropdown-item-danger svg{color:#dc3545}.dropdown-item-danger:hover{background:#fff5f5}.avatar-btn:focus,.avatar-btn:active,.dropdown-item:focus,.dropdown-item:active{outline:none}@media(max-width:768px){.user-dropdown{position:fixed;inset:auto 0 0;border-radius:16px 16px 0 0;max-height:80vh;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dropdown-item{padding:14px 20px}.dropdown-user-info{padding:20px}}.footer{background:var(--dark);color:var(--bg-white);padding:60px 20px 20px;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:40px}.footer-brand{max-width:300px}.footer-logo{font-size:1.5rem;font-weight:700;color:var(--bg-white);text-decoration:none;display:block;margin-bottom:15px}.footer-logo:hover{color:var(--bg-white)}.footer-brand p{color:#ffffffb3;font-size:.9rem}.footer-links{display:flex;gap:60px}.footer-column h4{font-size:.9rem;font-weight:600;margin-bottom:20px;color:var(--bg-white)}.footer-column a{display:block;color:#ffffffb3;font-size:.9rem;margin-bottom:12px;text-decoration:none;transition:color .2s}.footer-column a:hover{color:var(--bg-white)}.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{font-size:.85rem;color:#ffffff80}@media(max-width:768px){.footer-content{flex-direction:column}.footer-links{flex-wrap:wrap;gap:30px}.footer-column{min-width:140px}}.layout{min-height:100vh;display:flex;flex-direction:column}.main{flex:1}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3em;border-bottom-right-radius:.3em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4em;margin:2px}.react-datepicker__month{margin:.4em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7em;line-height:1.7em;text-align:center;margin:.166em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7em;line-height:1.7em;text-align:center;margin:.166em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3em;line-height:3em}@media(max-width:400px),(max-height:550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2em;line-height:2em}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8em;margin:.4em;padding-right:.2em;padding-left:.2em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.guest-picker{position:absolute;top:calc(100% + 10px);right:0;background:var(--bg-white);border-radius:16px;box-shadow:0 4px 30px #0000001f;padding:20px;min-width:300px;z-index:50}.guest-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #f0f0f0}.guest-row:last-of-type{border-bottom:none}.guest-label{display:block;font-weight:500;color:var(--text-primary)}.guest-sublabel{display:block;font-size:.8rem;color:var(--text-secondary)}.guest-controls{display:flex;align-items:center;gap:15px}.guest-controls button{width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:var(--bg-white);font-size:1.2rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s}.guest-controls button:hover{border-color:var(--primary);color:var(--primary)}.guest-controls span{min-width:24px;text-align:center;font-weight:500}.guest-done{width:100%;margin-top:15px;padding:12px;background:var(--dark);color:var(--bg-white);border:none;border-radius:10px;font-weight:600;transition:opacity .2s}.guest-done:hover{opacity:.9}@media(max-width:768px){.guest-picker{left:0;right:0;min-width:auto}}.mobile-search-modal{position:fixed;inset:0;background:#fff;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.msm-header{padding:12px 16px;display:flex;justify-content:flex-start;flex-shrink:0}.msm-close{width:32px;height:32px;border:1px solid #e2e8f0;border-radius:50%;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b}.msm-close:hover{background:#f8fafc}.msm-tabs{display:flex;flex-direction:row;gap:8px;padding:0 16px 16px;flex-shrink:0}.msm-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s;flex:1;text-align:center}.msm-tab.active{background:#eff6ff;border-color:#3b82f6}.msm-tab-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.msm-tab-value{font-size:14px;color:#1e293b;margin-top:2px;display:flex;flex-direction:column;line-height:1.3}.msm-content{flex:1;overflow-y:auto;padding:0 16px;-webkit-overflow-scrolling:touch}.msm-step{padding-bottom:100px}.msm-step h2{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 16px}.msm-search-input{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px}.msm-search-input:focus-within{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.msm-search-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b}.msm-search-input input{flex:1;border:none;background:transparent;font-size:16px;color:#1e293b;outline:none;min-width:0}.msm-search-input input::placeholder{color:#94a3b8}.msm-search-input input[type=search]::-webkit-search-cancel-button,.msm-search-input input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.msm-search-clear{width:24px;height:24px;border:none;background:#e2e8f0;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0}.msm-search-clear:hover{background:#cbd5e1}.msm-results{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.msm-result{display:flex;align-items:center;gap:14px;width:100%;padding:14px 0;border:none;background:none;cursor:pointer;border-bottom:1px solid #f1f5f9;text-align:left;transition:background .15s}.msm-result:hover{background:#f8fafc;margin:0 -16px;padding:14px 16px;width:calc(100% + 32px)}.msm-result:last-child{border-bottom:none}.msm-result-icon{width:44px;height:44px;background:#f1f5f9;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.msm-result-icon svg,.msm-icon{color:#64748b}.msm-result-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.msm-result-name{font-size:15px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msm-result-desc{font-size:13px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msm-hint{padding:40px 20px;text-align:center;color:#94a3b8;font-size:14px}.msm-loading{padding:20px;text-align:center;color:#94a3b8;font-size:14px}.msm-when{padding-bottom:100px}.msm-calendar{margin:0 -16px}.msm-datepicker{width:100%!important;border:none!important;font-family:inherit!important}.msm-who{padding-bottom:100px}.msm-guest-row{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #f1f5f9}.msm-guest-row:last-child{border-bottom:none}.msm-guest-title{font-size:16px;font-weight:500;color:#1e293b}.msm-guest-controls{display:flex;align-items:center;gap:16px}.msm-guest-btn{width:36px;height:36px;border:1px solid #e2e8f0;border-radius:50%;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .15s}.msm-guest-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.msm-guest-btn:disabled{opacity:.4;cursor:not-allowed}.msm-guest-count{font-size:16px;font-weight:600;color:#1e293b;min-width:24px;text-align:center}.msm-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -4px 20px #00000014;z-index:10}.msm-clear{padding:12px 20px;border:none;background:none;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;text-decoration:underline}.msm-clear:hover{color:#1e293b}.msm-next{padding:14px 28px;border:none;background:#1e293b;color:#fff;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:background .15s}.msm-next:hover{background:#334155}@supports (padding-bottom: env(safe-area-inset-bottom)){.msm-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.msm-step{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}@media(max-height:600px){.msm-results{max-height:calc(100vh - 350px)}.msm-step h2{font-size:20px;margin-bottom:12px}.msm-result{padding:12px 0}.msm-result-icon{width:40px;height:40px}}.search-bar-mobile{display:none}@media(max-width:900px){.search-bar-mobile{display:flex;align-items:center;gap:12px;background:var(--bg-white);padding:16px 20px;border-radius:50px;box-shadow:0 3px 12px #0000001f;border:1px solid #e0e0e0;cursor:pointer;max-width:100%}.search-bar-mobile-icon{display:flex;align-items:center;justify-content:center;color:#64748b}.search-bar-mobile-text{font-size:.95rem;font-weight:500;color:var(--text-primary)}.search-bar-desktop{display:none!important}}.search-bar{background:var(--bg-white);border-radius:50px;padding:6px;box-shadow:0 2px 12px #0000001a;display:flex;align-items:center;max-width:800px;margin:0 auto;border:1px solid #e0e0e0}.search-field{display:flex;align-items:center;justify-content:center;padding:12px 20px;border-right:1px solid #eee;cursor:pointer}.search-field-location{flex:1.5;position:relative}.search-field-location input{border:none;outline:none;font-size:.95rem;color:var(--text-primary);background:transparent;width:100%;text-align:center}.search-field-location input::placeholder{color:var(--text-secondary)}.search-field-location input[type=search]::-webkit-search-cancel-button,.search-field-location input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.location-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:320px;max-height:360px;overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid #e2e8f0;z-index:100;padding:8px 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s}.suggestion-item:hover,.suggestion-item.highlighted{background:#f1f5f9}.suggestion-icon{width:40px;height:40px;background:#f8fafc;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.suggestion-icon svg{color:#64748b}.suggestion-item.highlighted .suggestion-icon{background:#e0f2fe}.suggestion-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.suggestion-name{font-size:14px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-region{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-loading{padding:16px;text-align:center;color:#94a3b8;font-size:14px}.location-suggestions::-webkit-scrollbar{width:6px}.location-suggestions::-webkit-scrollbar-track{background:transparent}.location-suggestions::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.location-suggestions::-webkit-scrollbar-thumb:hover{background:#94a3b8}.search-field-date{flex:1.4}.date-input{border:none;outline:none;background:transparent;font-size:.95rem;color:var(--text-primary);cursor:pointer;font-family:inherit;text-align:center;width:100%}.search-field-date .react-datepicker-wrapper{width:100%}.search-field-guests{flex:1;position:relative;border-right:none;justify-content:center;gap:8px}.guest-text{font-size:.95rem;color:var(--text-primary)}.dropdown-arrow{color:var(--text-secondary);font-size:.7rem}.search-btn{background:var(--accent);color:var(--bg-white);border:none;border-radius:50px;padding:14px 28px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.search-btn:hover{background:#2391b0}.react-datepicker-popper{z-index:100}.react-datepicker{font-family:inherit;border:none;box-shadow:0 8px 28px #00000026;border-radius:20px;padding:20px;background:var(--bg-white)}.react-datepicker__month-container{padding:0 10px}.react-datepicker__header{background:var(--bg-white);border-bottom:none;padding-top:10px}.react-datepicker__current-month{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:15px}.react-datepicker__day-names{margin-top:10px}.react-datepicker__day-name{color:var(--text-secondary);font-size:.75rem;font-weight:600;width:40px;margin:2px}.react-datepicker__day{width:40px;height:40px;line-height:40px;margin:2px;border-radius:50%;font-size:.9rem;color:var(--text-primary)}.react-datepicker__day:hover{background:var(--bg-light);border-radius:50%}.react-datepicker__day--disabled{color:#ccc}.react-datepicker__day--selected,.react-datepicker__day--range-start,.react-datepicker__day--range-end{background:var(--text-primary)!important;color:#fff!important;border-radius:50%!important;font-weight:600}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range{background:#f0f0f0!important;color:var(--text-primary)!important;border-radius:0!important}.react-datepicker__navigation{top:25px}.react-datepicker__navigation--previous{left:20px}.react-datepicker__navigation--next{right:20px}.react-datepicker__navigation-icon:before{border-color:var(--text-primary);border-width:2px 2px 0 0;width:8px;height:8px}.home{min-height:100vh}.hero{background:linear-gradient(135deg,#f8fafc,#e8f4f8);padding:60px 20px 80px}.hero-content{max-width:800px;margin:0 auto;text-align:center}.hero h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.hero p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:40px}.section{padding:60px 20px}.section-gray{background:var(--bg-light)}.section-content{max-width:1200px;margin:0 auto}.section h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.section-subtitle{color:var(--text-secondary);margin-bottom:30px}.cities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.city-card{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;aspect-ratio:4/3;transition:transform .3s}.city-card:hover{transform:scale(1.02)}.city-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.city-card:hover img{transform:scale(1.05)}.city-overlay{position:absolute;bottom:0;left:0;right:0;padding:25px;background:linear-gradient(transparent,#000000b3);color:var(--bg-white)}.city-overlay h3{font-size:1.4rem;font-weight:600;margin-bottom:4px}.city-overlay p{font-size:.9rem;opacity:.9}.recent-section{padding:40px 20px;max-width:1200px;margin:0 auto}.recent-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.recent-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.clear-recent-btn{background:transparent;border:1px solid #ddd;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:20px;transition:all .2s}.clear-recent-btn:hover{border-color:var(--primary);color:var(--primary)}.recent-hotels{display:flex;gap:20px;overflow-x:auto;padding:10px 0}.recent-hotels::-webkit-scrollbar{height:6px}.recent-hotels::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.recent-card{flex-shrink:0;width:280px;background:var(--bg-white);border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 2px 10px #0000000f;transition:box-shadow .2s,transform .2s}.recent-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-3px)}.recent-card img{width:100%;height:160px;object-fit:cover}.recent-info{padding:16px}.recent-info h4{font-size:1rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.recent-info p{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.recent-rating{display:inline-block;background:var(--primary);color:#fff;padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:40px}.feature-card{background:var(--bg-white);padding:30px;border-radius:16px;text-align:center;box-shadow:0 2px 10px #0000000a}.feature-icon{font-size:2.5rem;margin-bottom:15px}.feature-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.feature-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}@media(max-width:1024px){.features-grid,.cities-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero{padding:40px 20px 60px}.hero h1{font-size:1.8rem}.cities-grid,.features-grid{grid-template-columns:1fr}.recent-section{padding:30px 15px}.recent-card{width:240px}}.mobile-search-bar{display:none}@media(max-width:768px){.mobile-search-bar{display:block;background:var(--bg-white);padding:15px;border-bottom:1px solid #eee}.mobile-search-summary{display:flex;align-items:center;gap:12px;padding:12px 15px;background:var(--bg-light);border-radius:12px;cursor:pointer;margin-bottom:15px}.mobile-back-btn{background:none;border:none;outline:none;color:var(--text-primary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.mobile-search-info{flex:1}.mobile-search-location{font-size:.95rem;font-weight:500;color:var(--text-primary)}.segmented-control{display:flex;background:var(--bg-light);border-radius:12px;padding:4px;gap:4px}.segment{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:transparent;border:none;outline:none;border-radius:10px;font-size:.85rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.segment:active{transform:scale(.97)}.segment.active{background:var(--bg-white);color:var(--primary);box-shadow:0 1px 3px #0000001a}.segment svg{flex-shrink:0}.segment span{white-space:nowrap}}.filter-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:9999;display:flex;align-items:flex-end;justify-content:center}.filter-modal{background:var(--bg-white);width:100%;max-height:90vh;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease}.filter-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #eee;flex-shrink:0}.filter-modal-close{width:36px;height:36px;border:none;background:var(--bg-light);border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.filter-modal-header h2{font-size:1.1rem;font-weight:600}.filter-modal-reset{background:none;border:none;color:var(--primary);font-size:.9rem;font-weight:500;cursor:pointer}.filter-modal-content{flex:1;overflow-y:auto;padding:20px}.filter-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #eee}.filter-section:last-child{border-bottom:none;margin-bottom:0}.filter-section h3{font-size:1rem;font-weight:600;margin-bottom:15px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.filter-hint{font-size:.85rem;font-weight:400;color:#888}.filter-chips{display:flex;flex-wrap:wrap;gap:10px}.filter-chips.scrollable{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.filter-chips.scrollable::-webkit-scrollbar{display:none}.filter-chips.wrap{flex-wrap:wrap}.filter-chip{padding:10px 16px;background:#fff;border:1.5px solid #ddd;border-radius:24px;font-size:.9rem;font-weight:500;color:#333;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-chip:hover{border-color:#222}.filter-chip.active{background:#222;border-color:#222;color:#fff}.filter-chip.small{padding:8px 14px;font-size:.85rem}.price-range{display:flex;align-items:flex-end;gap:15px}.price-input-group{flex:1}.price-input-group label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:6px}.price-input-wrapper{display:flex;align-items:center;padding:12px 15px;border:1px solid #ddd;border-radius:10px;background:#fff;transition:border-color .15s}.price-input-wrapper:focus-within{border-color:var(--primary)}.price-symbol{font-size:.95rem;color:#666;margin-right:4px}.price-input-wrapper input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;width:100%}.price-input-wrapper input::-webkit-outer-spin-button,.price-input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.price-separator{color:var(--text-secondary);margin-bottom:12px}.filter-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #f0f0f0}.filter-row:last-child{border-bottom:none}.filter-row-label{font-size:.95rem;color:#333}.filter-number-chips{display:flex;gap:6px}.filter-toggle{display:flex;align-items:center;gap:14px;padding:14px 0;cursor:pointer;border-bottom:1px solid #f0f0f0}.filter-toggle:last-child{border-bottom:none}.filter-toggle input{display:none}.toggle-switch{position:relative;width:48px;height:28px;background:#ddd;border-radius:14px;transition:background .2s;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.filter-toggle input:checked+.toggle-switch{background:var(--primary, #1a56db)}.filter-toggle input:checked+.toggle-switch:after{transform:translate(20px)}.toggle-label{font-size:.95rem;color:#333}.filter-modal-footer{padding:20px;border-top:1px solid #eee;flex-shrink:0}.filter-apply-btn{width:100%;padding:15px;background:var(--primary);color:var(--bg-white);border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.filter-apply-btn:hover{background:var(--primary-hover)}.filter-toggle.staystar-toggle .toggle-switch.staystar{background:#fef3c7}.filter-toggle.staystar-toggle .toggle-switch.staystar:before{background:#f59e0b}.filter-toggle.staystar-toggle input:checked+.toggle-switch.staystar{background:#fde68a}.filter-toggle .toggle-label{display:flex;align-items:center;gap:6px}.staystar-icon{color:#f59e0b;flex-shrink:0}.sidebar-checkbox.staystar-checkbox .staystar-label{display:flex;align-items:center;gap:6px}.sidebar-checkbox.staystar-checkbox .staystar-label svg{color:#f59e0b;flex-shrink:0}.sidebar-checkbox.staystar-checkbox input:checked+.staystar-label{color:#b45309;font-weight:500}@media(min-width:769px){.filter-modal-overlay{align-items:center}.filter-modal{max-width:500px;max-height:85vh;border-radius:20px}}.filter-sidebar-container{background:#fff;border-radius:12px;border:1px solid #eee;overflow:hidden}.filter-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.filter-sidebar-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#222}.filter-reset-btn{background:none;border:none;color:var(--primary, #1a56db);font-size:.9rem;font-weight:500;cursor:pointer;padding:0}.filter-reset-btn:hover{text-decoration:underline}.filter-sidebar-content{max-height:calc(100vh - 200px);overflow-y:auto}.sidebar-section{border-bottom:1px solid #eee}.sidebar-section:last-child{border-bottom:none}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;background:none;border:none;font-size:.95rem;font-weight:600;color:#222;cursor:pointer;text-align:left}.sidebar-section-header:hover{background:#fafafa}.section-toggle{font-size:1.1rem;color:#888;font-weight:400}.sidebar-section-content{padding:0 20px 16px}.sidebar-chips{display:flex;flex-wrap:wrap;gap:8px}.sidebar-chip{padding:8px 14px;background:#fff;border:1.5px solid #ddd;border-radius:20px;font-size:.85rem;font-weight:500;color:#333;cursor:pointer;transition:all .15s}.sidebar-chip:hover{border-color:#222}.sidebar-chip.active{background:#222;border-color:#222;color:#fff}.sidebar-chip.small{padding:6px 12px;font-size:.8rem}.sidebar-price-inputs{display:flex;align-items:flex-end;gap:12px}.sidebar-price-group{flex:1}.sidebar-price-group label{display:block;font-size:.75rem;color:#888;margin-bottom:6px}.sidebar-price-input{display:flex;align-items:center;padding:10px 12px;background:#f5f5f5;border:1px solid #eee;border-radius:8px;transition:all .15s}.sidebar-price-input:focus-within{border-color:var(--primary, #1a56db);background:#fff}.sidebar-price-input span{color:#666;font-size:.9rem;margin-right:4px}.sidebar-price-input input{flex:1;border:none;outline:none;background:transparent;font-size:.9rem;width:100%}.sidebar-price-input input::-webkit-outer-spin-button,.sidebar-price-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sidebar-price-divider{color:#ccc;margin-bottom:8px}.sidebar-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.sidebar-row:last-child{border-bottom:none}.sidebar-row>span{font-size:.9rem;color:#333}.sidebar-number-chips{display:flex;gap:6px}.sidebar-checkbox{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;border-bottom:1px solid #f0f0f0}.sidebar-checkbox:last-child{border-bottom:none}.sidebar-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary, #1a56db)}.sidebar-checkbox span{font-size:.9rem;color:#333}.sidebar-sublabel{font-size:.8rem;font-weight:500;color:#888;margin:12px 0 8px;text-transform:uppercase;letter-spacing:.5px}.sidebar-sublabel:first-child{margin-top:0}.sort-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.sort-modal{background:#fff;width:100%;max-width:500px;border-radius:16px 16px 0 0;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.sort-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0}.sort-modal-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.sort-modal-close{background:none;border:none;padding:8px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.sort-modal-close:hover{background:#f5f5f5}.sort-modal-reset{background:none;border:none;padding:8px 12px;cursor:pointer;color:#2563eb;font-size:14px;font-weight:500;border-radius:8px;transition:background .2s}.sort-modal-reset:hover:not(:disabled){background:#eff6ff}.sort-modal-reset:disabled{color:#ccc;cursor:not-allowed}.sort-options{flex:1;overflow-y:auto;padding:8px 0}.sort-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;transition:background .2s;text-align:left}.sort-option:hover{background:#f9fafb}.sort-option.active{background:#f0f7ff}.sort-option-content{display:flex;align-items:center;gap:12px}.sort-option-icon{color:#e31c5f}.sort-option span{font-size:15px;color:#1a1a1a}.sort-radio{width:22px;height:22px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.sort-radio.checked{border-color:#2563eb}.sort-radio-dot{width:12px;height:12px;background:#2563eb;border-radius:50%;animation:scaleIn .15s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.sort-modal-footer{padding:16px 20px;border-top:1px solid #f0f0f0;background:#fff}.sort-apply-btn{width:100%;padding:14px 24px;background:#2563eb;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.sort-apply-btn:hover{background:#1d4ed8}.sort-apply-btn:active{transform:scale(.98)}@media(min-width:768px){.sort-modal-overlay{align-items:center}.sort-modal{border-radius:16px;max-width:400px;max-height:70vh}.sort-modal-header{border-radius:16px 16px 0 0}}.pbm-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:pbm-fade-in .2s ease}@keyframes pbm-fade-in{0%{opacity:0}to{opacity:1}}.pbm-modal{background:#fff;width:100%;max-width:500px;border-radius:16px 16px 0 0;padding:0;animation:pbm-slide-up .3s ease;max-height:80vh;overflow-y:auto}@keyframes pbm-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pbm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0}.pbm-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.pbm-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f1f5f9;border-radius:50%;cursor:pointer;transition:background .2s}.pbm-close:hover{background:#e2e8f0}.pbm-close svg{color:#64748b}.pbm-content{padding:20px}.pbm-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:15px;color:#1a1a1a}.pbm-row span:first-child{color:#64748b}.pbm-row span:last-child{font-weight:500}.pbm-discount span:last-child{color:#1e8e3e}.pbm-member span:first-child{color:#7c3aed}.pbm-member span:last-child{color:#7c3aed}.pbm-divider{height:1px;background:#e2e8f0;margin:8px 0}.pbm-total{padding-top:16px}.pbm-total span:first-child{font-size:16px;font-weight:600;color:#1a1a1a}.pbm-total span:last-child{font-size:20px;font-weight:700;color:#1a1a1a}@media(min-width:769px){.pbm-overlay{align-items:center}.pbm-modal{border-radius:16px;max-width:420px}.pbm-header{border-radius:16px 16px 0 0}}.lazy-image-container{position:relative;overflow:hidden;background:#e2e8f0;border-radius:inherit;width:100%}.lazy-image-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#e2e8f0 0% 40%,#f1f5f9 50%,#e2e8f0 60% 100%);background-size:200% 100%}.shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.5s infinite}.lazy-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.lazy-image.loaded{opacity:1}.lazy-image-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8;font-size:2rem}@media(prefers-color-scheme:dark){.lazy-image-container{background:#334155}.lazy-image-skeleton{background:linear-gradient(90deg,#334155 0% 40%,#475569 50%,#334155 60% 100%)}.lazy-image-error{background:#334155;color:#64748b}}.hotel-card{display:flex;flex-direction:row;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000014;cursor:pointer;transition:all .2s ease;border:1px solid #e2e8f0;min-height:200px}.hotel-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.hotel-card-image{position:relative;width:180px;min-width:180px;overflow:hidden;background:#f1f5f9;flex-shrink:0;align-self:stretch}.hotel-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hotel-card:hover .hotel-card-image img{transform:scale(1.03)}.hotel-card-image .lazy-image-container{position:absolute;inset:0;aspect-ratio:unset!important}.hotel-card-image .lazy-image-container img{width:100%;height:100%;object-fit:cover}.favorite-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #00000026;transition:all .2s;z-index:2}.favorite-btn:hover{transform:scale(1.1)}.favorite-btn svg{color:#64748b;transition:all .2s;width:16px;height:16px}.favorite-btn.active svg,.favorite-btn:hover svg{color:#ef4444}.hotel-card-content{padding:14px 16px;display:flex;flex-direction:column;flex:1;min-width:0;gap:4px}.hotel-header{margin-bottom:6px}.hotel-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px}.hotel-name{font-size:16px;font-weight:600;color:#1e293b;margin:0;line-height:1.3;flex:1;min-width:0}.hotel-card-rating{display:flex;align-items:center;gap:5px;background:#1e293b;color:#fff;border:none;border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.hotel-card-rating:hover{background:#0f172a}.hotel-card-rating svg{flex-shrink:0}.rating-score{font-weight:700}.rating-label{font-weight:500;opacity:.9}.hotel-location{font-size:13px;color:#64748b;margin:0;line-height:1.4}.property-type-text{color:#475569;font-weight:500}.hotel-landmark{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b;margin:10px 0 0}.hotel-landmark svg{color:#3b82f6;flex-shrink:0}.badges-area{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;min-height:24px}.campaign-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;background-color:#1e8e3e;color:#fff}.member-deal-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.member-deal-badge svg{flex-shrink:0;width:12px;height:12px}.breakfast-info{display:flex;align-items:center;gap:6px;font-size:13px;color:#16a34a;font-weight:500;margin:0;padding:0}.breakfast-info svg{flex-shrink:0;width:14px;height:14px}.price-section{margin-top:auto;text-align:right;padding-top:8px;cursor:pointer}.price-section:hover .price-amount{text-decoration:underline}.stay-info{font-size:12px;color:#64748b;margin:0 0 4px}.price-main{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-end;gap:4px}.price-amount{font-size:20px;font-weight:700;color:#1e293b}.price-unavailable{font-size:14px;color:#3b82f6;font-weight:500}.price-original{font-size:14px;color:#9ca3af;text-decoration:line-through;margin-right:8px}.price-main:has(.price-original) .price-amount{color:#1e8e3e}.price-amount.member-price{color:#7c3aed}@media(min-width:769px){.hotel-card{max-width:100%;min-height:220px}.hotel-card-image{width:260px;min-width:260px}.favorite-btn{width:36px;height:36px;top:12px;right:12px}.favorite-btn svg{width:18px;height:18px}.hotel-card-content{padding:18px 22px;gap:6px}.hotel-header{margin-bottom:8px}.hotel-header-top{align-items:center;gap:12px}.hotel-name{font-size:19px}.hotel-card-rating{padding:6px 12px;font-size:13px;border-radius:8px}.hotel-location{font-size:14px}.hotel-landmark{font-size:13px}.badges-area{min-height:28px}.campaign-badge,.member-deal-badge{padding:5px 12px;font-size:12px}.breakfast-info{font-size:14px;gap:8px}.breakfast-info svg{width:16px;height:16px}.price-section{padding-top:12px}.stay-info{font-size:13px}.price-amount{font-size:24px}.price-unavailable{font-size:15px}}@media(min-width:481px)and (max-width:768px){.hotel-card-image{width:200px;min-width:200px}.hotel-card-content{padding:16px 18px}.hotel-name{font-size:17px}.price-amount{font-size:22px}}@media(max-width:480px){.hotel-card{min-height:200px}.hotel-card-image{width:140px;min-width:130px}.favorite-btn{width:28px;height:28px;top:8px;right:8px}.favorite-btn svg{width:14px;height:14px}.hotel-card-content{padding:12px 14px;gap:3px}.hotel-header{margin-bottom:4px}.hotel-header-top{gap:8px}.hotel-name{font-size:15px}.hotel-card-rating{padding:4px 8px;font-size:11px;border-radius:5px;gap:4px}.rating-label{display:none}.hotel-location{font-size:12px}.hotel-landmark{font-size:11px;margin-top:10px}.badges-area{min-height:20px;margin:4px 0;gap:6px}.campaign-badge,.member-deal-badge{padding:3px 8px;font-size:11px}.member-deal-badge svg{width:10px;height:10px}.breakfast-info{font-size:12px}.breakfast-info svg{width:13px;height:13px}.price-section{padding-top:6px}.stay-info{font-size:11px}.price-amount{font-size:18px}.price-original{font-size:12px}.price-unavailable{font-size:13px}}@media(max-width:360px){.hotel-card{min-height:300px}.hotel-card-image{width:120px;min-width:110px}.hotel-card-content{padding:10px 12px}.hotel-name{font-size:14px}.hotel-card-rating{padding:3px 6px;font-size:10px}.hotel-location{font-size:11px}.hotel-landmark{font-size:10px}.campaign-badge,.member-deal-badge{padding:2px 6px;font-size:10px}.price-amount{font-size:16px}}.hotel-card-skeleton{display:flex;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #00000014;margin-bottom:16px;min-height:220px}.skeleton-image{position:relative;width:240px;min-width:240px;background:#e2e8f0;overflow:hidden}.skeleton-favorite{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#fffc;border-radius:50%}.skeleton-content{flex:1;padding:16px 20px;display:flex;flex-direction:column;position:relative}.skeleton-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.skeleton-title{position:relative;width:60%;height:22px;background:#e2e8f0;border-radius:6px;overflow:hidden}.skeleton-rating{position:relative;width:52px;height:28px;background:#e2e8f0;border-radius:6px;overflow:hidden}.skeleton-location{position:relative;width:45%;height:16px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-top:8px}.skeleton-distance{position:relative;width:55%;height:14px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-top:6px}.skeleton-tag{position:relative;width:80px;height:28px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-top:12px}.skeleton-price-section{margin-top:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.skeleton-nights{position:relative;width:110px;height:14px;background:#e2e8f0;border-radius:4px;overflow:hidden}.skeleton-price-row{display:flex;align-items:center;gap:10px}.skeleton-old-price{position:relative;width:45px;height:16px;background:#e2e8f0;border-radius:4px;overflow:hidden}.skeleton-price{position:relative;width:70px;height:28px;background:#e2e8f0;border-radius:6px;overflow:hidden}.shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:768px){.hotel-card-skeleton{flex-direction:row;min-height:160px;margin-bottom:12px}.skeleton-image{width:140px;min-width:140px}.skeleton-favorite{width:32px;height:32px;top:8px;right:8px}.skeleton-content{padding:12px 14px}.skeleton-title{width:80%;height:18px}.skeleton-rating{width:46px;height:24px}.skeleton-location{width:70%;height:14px;margin-top:6px}.skeleton-distance{display:none}.skeleton-tag{width:70px;height:24px;margin-top:8px}.skeleton-nights{width:90px;height:12px}.skeleton-old-price{width:35px;height:14px}.skeleton-price{width:55px;height:22px}}@media(max-width:480px){.skeleton-image{width:120px;min-width:120px}.skeleton-content{padding:10px 12px}}.search-results{min-height:100vh;background:var(--bg-light, #f7f7f7)}.search-header{background:#fff;border-bottom:1px solid #eee;padding:16px 24px}.search-header-content{max-width:800px;margin:0 auto}.search-main{display:flex;gap:24px;max-width:1400px;margin:0 auto;padding:24px}.filter-sidebar{width:280px;flex-shrink:0;position:sticky;top:24px;height:fit-content}.search-content{flex:1;min-width:0}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:0 4px}.results-count{font-size:.95rem;color:var(--text-secondary, #666)}.results-count strong{color:var(--text-primary, #222)}.nights-info,.filter-count{color:var(--text-secondary, #888)}.results-sort{display:flex;align-items:center;gap:8px}.results-sort label{font-size:.9rem;color:var(--text-secondary, #666)}.results-sort select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.results-sort select:focus{outline:none;border-color:var(--primary, #1a56db)}.hotel-list{display:flex;flex-direction:column;gap:16px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px}.loading-spinner{width:40px;height:40px;border:3px solid #eee;border-top-color:var(--primary, #1a56db);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-state p{color:var(--text-secondary, #666);font-size:.95rem}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px}.empty-state p{color:var(--text-primary, #222);font-size:1rem;margin:0 0 8px}.empty-hint{color:var(--text-secondary, #888)!important;font-size:.9rem!important}.desktop-only{display:none}@media(max-width:768px){.search-main{padding:16px}.filter-sidebar{display:none}.results-header{padding:0}}@media(min-width:769px){.desktop-only{display:block}.mobile-search-bar{display:none}.search-main{padding:24px 32px}}@media(min-width:1200px){.filter-sidebar{width:300px}.search-main{padding:24px 48px}}.room-rate-plans{margin-top:16px;border-top:1px solid #e2e8f0;padding:16px 0 16px 16px}.rate-plans-desktop{display:none;gap:16px;padding-right:16px}.rate-plans-mobile{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-right:16px;padding-bottom:4px}.rate-plans-mobile::-webkit-scrollbar{display:none}.rate-plans-mobile .rate-card{flex:0 0 82%;scroll-snap-align:start}.rate-slider-wrapper,.rate-cards-slider{display:contents}.rate-plans-mobile .slider-dots{display:none}.room-rate-plans .rate-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;flex-direction:column}.room-rate-plans .rate-card.highlight{border-color:#e2e8f0}.room-rate-plans .rate-card-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:#1e293b;margin-bottom:12px;flex-wrap:wrap}.room-rate-plans .rate-card-header svg{color:#3b82f6}.room-rate-plans .campaign-badge-small{display:inline-flex;align-items:center;gap:4px;background:#dcfce7;color:#15803d;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:4px;margin-left:auto}.room-rate-plans .campaign-badge-small svg{color:#15803d}.room-rate-plans .rate-card-features{display:flex;flex-direction:column;gap:8px;flex:1}.room-rate-plans .rate-feature{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#475569}.room-rate-plans .rate-feature .icon-positive{color:#16a34a}.room-rate-plans .rate-feature .icon-negative{color:#dc2626}.room-rate-plans .rate-feature .icon-neutral{color:#64748b}.room-rate-plans .rate-card-price{margin-top:16px;text-align:center;padding:12px 0;border-top:1px solid #e2e8f0}.room-rate-plans .rate-card-price .price-original{display:block;font-size:.9rem;color:#94a3b8;text-decoration:line-through;margin-bottom:2px}.room-rate-plans .rate-card-price .price-amount{display:block;font-size:1.5rem;font-weight:700;color:#1e293b}.room-rate-plans .rate-card-price:has(.price-original) .price-amount{color:#16a34a}.room-rate-plans .rate-card-price .price-period{display:block;font-size:.8rem;color:#64748b;margin-top:2px}.room-rate-plans .rate-select-btn{margin-top:12px;width:100%;padding:12px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;background:#3b82f6;color:#fff}.room-rate-plans .rate-select-btn:hover{background:#2563eb}@media(min-width:768px){.rate-plans-desktop{display:flex;justify-content:center}.rate-plans-mobile{display:none!important}.rate-plans-desktop .rate-card{flex:1;max-width:350px}.room-rate-plans .rate-card{padding:20px}}.detail-room-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}.detail-room-card .room-card-top{display:flex;flex-direction:column}@media(min-width:640px){.detail-room-card .room-card-top{flex-direction:row}}.detail-room-card .room-image-container{position:relative;width:100%;height:200px;cursor:pointer;overflow:hidden;background:#f1f5f9}@media(min-width:640px){.detail-room-card .room-image-container{width:280px;min-width:280px;height:220px}}@media(min-width:1024px){.detail-room-card .room-image-container{width:320px;min-width:320px;height:240px}}.detail-room-card .room-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.detail-room-card .room-image-container:hover img{transform:scale(1.05)}.detail-room-card .room-image-container .no-photo{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8;font-size:.9rem}.detail-room-card .image-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:6px}.detail-room-card .image-dots .dot{width:6px;height:6px;border-radius:50%;background:#fff9;border:none;padding:0;cursor:pointer;transition:all .2s ease}.detail-room-card .image-dots .dot.active{background:#fff;width:16px;border-radius:3px}.detail-room-card .room-info{flex:1;padding:16px}@media(min-width:640px){.detail-room-card .room-info{padding:20px}}.detail-room-card .room-name{font-size:1.15rem;font-weight:600;color:#1e293b;margin:0 0 10px}@media(min-width:768px){.detail-room-card .room-name{font-size:1.25rem}}.detail-room-card .room-specs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.detail-room-card .room-specs .spec{display:flex;align-items:center;gap:5px;font-size:.85rem;color:#64748b}.detail-room-card .room-specs .spec svg{color:#94a3b8}.detail-room-card .room-beds{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#475569;margin-bottom:12px}.detail-room-card .room-beds svg{color:#94a3b8}.detail-room-card .room-amenities{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important}.detail-room-card .amenity-pill{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:6px 10px!important;background:#f1f5f9!important;border-radius:20px!important;font-size:.8rem!important;color:#475569!important;white-space:nowrap!important;flex:0 0 auto!important;width:auto!important;max-width:fit-content!important}.detail-room-card .amenity-pill svg{color:#64748b;flex-shrink:0}.detail-room-card .amenity-more{display:inline-flex!important;align-items:center!important;padding:6px 10px!important;background:transparent!important;border:1px dashed #cbd5e1!important;border-radius:20px!important;font-size:.8rem!important;color:#3b82f6!important;cursor:pointer;transition:all .2s ease;white-space:nowrap!important;flex:0 0 auto!important;width:auto!important;max-width:fit-content!important}.detail-room-card .amenity-more:hover{background:#eff6ff!important;border-color:#3b82f6!important}.detail-room-card .no-dates-notice{padding:20px;text-align:center;background:#f8fafc;border-top:1px solid #e2e8f0}.detail-room-card .no-dates-notice p{margin:0;color:#64748b;font-size:.9rem}.search-edit-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.search-edit-modal{background:#fff;width:100%;max-width:500px;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@media(min-width:768px){.search-edit-overlay{align-items:center}.search-edit-modal{border-radius:16px;max-height:80vh}}.search-edit-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e2e8f0}.search-edit-header h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0}.search-edit-header .close-btn{width:36px;height:36px;border:none;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b;transition:all .2s}.search-edit-header .close-btn:hover{background:#e2e8f0;color:#1e293b}.search-edit-content{padding:20px;overflow-x:hidden}.search-edit-section{margin-bottom:24px}.search-edit-section:last-child{margin-bottom:0}.section-label{display:flex;align-items:center;gap:8px;font-weight:600;color:#1e293b;margin-bottom:12px}.section-label svg{color:#3b82f6}.dates-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-field{display:flex;flex-direction:column;gap:6px}.date-field label{font-size:.8rem;color:#64748b;font-weight:500}.date-field .date-input{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:10px;font-size:.95rem;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .2s}.date-field .date-input:focus{outline:none;border-color:#3b82f6}.date-field .react-datepicker-wrapper{width:100%}.nights-display{margin-top:12px;text-align:center;font-size:.85rem;color:#64748b;background:#f8fafc;padding:8px 12px;border-radius:8px}.guests-controls{display:flex;flex-direction:column;gap:16px}.guest-row{display:flex;align-items:center;justify-content:space-between}.guest-info{display:flex;flex-direction:column}.guest-type{font-size:.95rem;color:#1e293b;font-weight:500}.guest-counter{display:flex;align-items:center;gap:16px}.counter-btn{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#1e293b;transition:all .2s}.counter-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.counter-btn:disabled{opacity:.4;cursor:not-allowed}.counter-value{font-size:1rem;font-weight:600;color:#1e293b;min-width:24px;text-align:center}.search-edit-footer{padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}.apply-btn{width:100%;padding:14px 20px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.apply-btn:hover{background:#2563eb}#datepicker-portal .react-datepicker-popper{z-index:99999!important}.react-datepicker__portal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100000}.react-datepicker__portal .react-datepicker{border:none;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden}.react-datepicker__portal .react-datepicker__header{background:#3b82f6;border-bottom:none;padding-top:16px}.react-datepicker__portal .react-datepicker__current-month{color:#fff;font-weight:600;font-size:1.1rem;margin-bottom:8px}.react-datepicker__portal .react-datepicker__day-name{color:#fffc;font-weight:500;width:2.5rem;line-height:2.5rem}.react-datepicker__portal .react-datepicker__day{width:2.5rem;line-height:2.5rem;margin:.2rem;border-radius:50%;font-weight:500}.react-datepicker__portal .react-datepicker__day:hover{background:#e0e7ff;color:#3b82f6}.react-datepicker__portal .react-datepicker__day--selected,.react-datepicker__portal .react-datepicker__day--keyboard-selected{background:#3b82f6;color:#fff}.react-datepicker__portal .react-datepicker__day--today{font-weight:700;color:#3b82f6}.react-datepicker__portal .react-datepicker__day--today.react-datepicker__day--selected{color:#fff}.react-datepicker__portal .react-datepicker__day--disabled{color:#d1d5db}.react-datepicker__portal .react-datepicker__navigation{top:16px}.react-datepicker__portal .react-datepicker__navigation-icon:before{border-color:#fff}@media(max-width:480px){.dates-row{grid-template-columns:1fr;gap:16px}.counter-btn{width:44px;height:44px}.counter-value{font-size:1.1rem;min-width:32px}.react-datepicker__portal .react-datepicker{width:90vw;max-width:340px}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day{width:2.8rem;line-height:2.8rem;font-size:1rem}.react-datepicker__portal .react-datepicker__current-month{font-size:1.2rem;padding-bottom:8px}}@media(min-width:481px)and (max-width:768px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day{width:2.6rem;line-height:2.6rem}}@media(max-width:768px){.hotel-detail{padding:0 0 60px}.hotel-gallery{padding:0 16px;margin-bottom:24px}.gallery-masonry{grid-template-columns:repeat(2,1fr);grid-template-rows:120px 120px 120px;gap:6px}.masonry-item.item-1{grid-column:1;grid-row:1 / 3}.masonry-item.item-2{grid-column:2;grid-row:1}.masonry-item.item-3{grid-column:2;grid-row:2}.masonry-item.item-4{grid-column:1;grid-row:3}.masonry-item.item-5{grid-column:2;grid-row:3}.show-all-photos{right:24px;padding:8px 16px;font-size:13px}.hotel-info{border-radius:0;margin:0;padding:20px 16px}.hotel-info-header{flex-direction:column;gap:16px}.hotel-stats{width:100%;justify-content:flex-start}.rooms-section{border-radius:0;padding:16px;box-shadow:none}.rooms-header{padding:0 0 16px}.rooms-list{gap:16px}.rooms-section .room-card{display:flex!important;flex-direction:column!important;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;padding:0!important;overflow:hidden}.rooms-section .room-card:last-child{border-bottom:1px solid #e2e8f0}.room-card-image{width:100%;min-width:100%;flex-shrink:0;aspect-ratio:16/10;border-radius:0}.room-card-content{flex-direction:column;padding:16px;gap:12px}.room-card-info{gap:10px}.room-name{font-size:18px}.room-specs{font-size:13px}.room-specs span:not(:last-child):after{margin-left:12px}.room-card .room-amenities{gap:6px}.room-card .amenity-tag{padding:5px 10px;font-size:12px}.room-beds{margin-top:4px}.rooms-section .room-card-pricing{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%;padding-top:12px;border-top:1px solid #f1f5f9;gap:12px}.price-display{margin-bottom:0;display:flex;align-items:baseline;gap:6px}.price-amount{font-size:22px}.price-period{display:inline}.rooms-section .book-btn{width:100%!important;padding:14px 24px!important;text-align:center;font-size:15px}.price-unavailable{font-size:14px}.gallery-nav{width:44px;height:44px;font-size:24px}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.room-gallery-counter{font-size:14px;padding:6px 16px}}.list-property-page{min-height:100vh}.lyp-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--dark) 100%);padding:80px 20px;text-align:center;color:var(--bg-white)}.lyp-hero-content{max-width:700px;margin:0 auto}.lyp-hero h1{font-size:2.5rem;font-weight:700;margin-bottom:16px}.lyp-hero-content>p{font-size:1.15rem;opacity:.9;margin-bottom:30px}.lyp-hero-price{margin-bottom:30px}.price-amount{font-size:3.5rem;font-weight:700}.price-period{font-size:1.5rem;opacity:.8}.lyp-cta-btn{display:inline-block;background:var(--accent);color:var(--bg-white);padding:16px 40px;border-radius:12px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.lyp-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.lyp-hero-note{margin-top:16px;font-size:.9rem;opacity:.7}.lyp-section{padding:80px 20px}.lyp-section-gray{background:var(--bg-light)}.lyp-section-content{max-width:1100px;margin:0 auto}.lyp-section h2{font-size:2rem;font-weight:700;text-align:center;margin-bottom:50px;color:var(--text-primary)}.lyp-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.lyp-benefit-card{background:var(--bg-white);padding:30px;border-radius:16px;text-align:center;box-shadow:0 2px 15px #0000000d;transition:transform .2s,box-shadow .2s}.lyp-benefit-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}.lyp-benefit-icon{font-size:2.5rem;display:block;margin-bottom:16px}.lyp-benefit-card h3{font-size:1.15rem;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.lyp-benefit-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.lyp-steps{display:flex;flex-direction:column;gap:30px;max-width:600px;margin:0 auto}.lyp-step{display:flex;align-items:flex-start;gap:20px}.lyp-step-number{width:50px;height:50px;background:var(--primary);color:var(--bg-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;flex-shrink:0}.lyp-step-content h3{font-size:1.15rem;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.lyp-step-content p{font-size:.95rem;color:var(--text-secondary)}.lyp-comparison{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:800px;margin:0 auto}.lyp-comparison-card{padding:35px;border-radius:16px;position:relative}.lyp-competitor{background:#f8f8f8;border:1px solid #e0e0e0}.lyp-us{background:var(--bg-white);border:2px solid var(--primary);box-shadow:0 8px 30px #003b9526}.lyp-comparison-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:var(--bg-white);padding:6px 16px;border-radius:20px;font-size:.8rem;font-weight:600}.lyp-comparison-card h3{font-size:1.3rem;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.lyp-comparison-card ul{list-style:none;padding:0;margin:0 0 25px}.lyp-comparison-card li{padding:10px 0;font-size:.95rem;color:var(--text-primary);border-bottom:1px solid #eee}.lyp-comparison-card li:last-child{border-bottom:none}.lyp-comparison-example{background:var(--bg-light);padding:15px;border-radius:10px;text-align:center}.lyp-comparison-example p:first-child{font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.lyp-comparison-cost{font-size:1.2rem;font-weight:700;color:var(--error)}.lyp-comparison-savings{font-size:1.2rem;font-weight:700;color:var(--success)}.lyp-faqs{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:25px}.lyp-faq{background:var(--bg-white);padding:25px 30px;border-radius:12px;box-shadow:0 2px 10px #0000000a}.lyp-faq h3{font-size:1.05rem;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.lyp-faq p{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.lyp-cta-section{background:linear-gradient(135deg,var(--primary) 0%,var(--dark) 100%);padding:80px 20px;text-align:center;color:var(--bg-white)}.lyp-cta-section h2{color:var(--bg-white);margin-bottom:16px}.lyp-cta-section p{font-size:1.1rem;opacity:.9;margin-bottom:30px}.lyp-hero-badge{display:inline-block;background:#fff3;padding:8px 20px;border-radius:20px;font-size:.9rem;font-weight:500;margin-bottom:20px}.lyp-hero-price{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:10px}.price-commission{font-size:4rem;font-weight:700;color:var(--accent)}.price-label{font-size:1.3rem;opacity:.9;margin-left:8px}.lyp-hero-subtext{font-size:1rem;opacity:.8;margin-bottom:30px}.lyp-hero-trust{display:flex;justify-content:center;gap:25px;margin-top:25px;font-size:.9rem;opacity:.9}.lyp-cta-note{margin-top:20px;font-size:.9rem;opacity:.8}@media(max-width:900px){.lyp-benefits-grid{grid-template-columns:repeat(2,1fr)}.lyp-comparison{grid-template-columns:1fr}}@media(max-width:600px){.lyp-hero-trust{flex-direction:column;gap:10px}.price-commission{font-size:3rem}.price-label{font-size:1rem}.lyp-hero h1{font-size:1.8rem}.lyp-benefits-grid{grid-template-columns:1fr}.lyp-section{padding:50px 20px}.lyp-section h2{font-size:1.6rem;margin-bottom:35px}}.property-registration{min-height:100vh;background:var(--bg-light);padding:40px 20px}.reg-progress{max-width:700px;margin:0 auto 40px}.reg-progress-bar{height:4px;background:#e0e0e0;border-radius:2px;margin-bottom:20px}.reg-progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s ease}.reg-progress-steps{display:flex;justify-content:space-between}.reg-progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:5px}.step-number{width:32px;height:32px;border-radius:50%;background:#e0e0e0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:all .3s}.reg-progress-step.active .step-number,.reg-progress-step.completed .step-number{background:var(--primary);color:#fff}.step-label{font-size:.8rem;color:var(--text-secondary)}.reg-progress-step.active .step-label{color:var(--primary);font-weight:500}.reg-form{max-width:700px;margin:0 auto;background:var(--bg-white);border-radius:16px;padding:40px;box-shadow:0 2px 15px #0000000d}.reg-step h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.form-hint{color:var(--text-secondary);margin-bottom:25px;font-size:.95rem}.form-section{margin-top:35px;padding-top:30px;border-top:1px solid #eee}.form-section h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:5px}.property-types-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.property-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--bg-light);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s}.property-type-card:hover{border-color:#ddd}.property-type-card.selected{border-color:var(--primary);background:#f0f7ff}.property-type-icon{font-size:1.8rem}.property-type-label{font-size:.8rem;font-weight:500;color:var(--text-primary);text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid.three-columns{grid-template-columns:1fr 1fr 1fr;margin-top:20px}.form-group.full-width{grid-column:span 2}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.room-card{background:#fff;border-radius:16px;padding:28px;margin-bottom:20px;display:block;width:100%;overflow:hidden;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a}.room-card *{box-sizing:border-box}.room-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eee}.room-number{font-size:1.1rem;font-weight:700;color:var(--primary);background:#f0f7ff;padding:8px 16px;border-radius:8px}.remove-btn{background:#fff5f5;border:none;color:#e53935;font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .2s}.remove-btn:hover{background:#ffebee}.room-form-fields{display:block;width:100%}.room-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.room-form-group{display:flex;flex-direction:column;gap:8px}.room-form-group label{font-size:.85rem;font-weight:600;color:#555;letter-spacing:.01em}.room-form-group input{padding:14px 16px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:.95rem;background:#fafafa;width:100%;transition:all .2s}.room-form-group input:hover{border-color:#ccc}.room-form-group input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.room-form-group input::placeholder{color:#aaa}.room-beds{display:block;width:100%;margin-top:24px;padding-top:24px;border-top:1px solid #eee}.room-beds>label{display:block;font-size:.85rem;font-weight:600;color:#555;margin-bottom:14px}.bed-row{display:flex;align-items:center;gap:12px;background:#f8f9fa;padding:12px 14px;border-radius:10px;border:1px solid #eee}.bed-count{width:75px;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-weight:500;background:#fff;cursor:pointer}.bed-count:focus{outline:none;border-color:var(--primary)}.bed-type-select{flex:1;max-width:220px;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer}.bed-type-select:focus{outline:none;border-color:var(--primary)}.remove-bed-btn{width:36px;height:36px;border:none;background:#fff5f5;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#e53935;transition:all .2s}.remove-bed-btn:hover{background:#ffebee}.add-bed-btn{padding:12px 20px;background:#fff;border:1.5px dashed #ccc;border-radius:10px;color:#666;font-size:.9rem;font-weight:500;cursor:pointer;width:fit-content;transition:all .2s}.add-bed-btn:hover{border-color:var(--primary);color:var(--primary);background:#f8fbff}.add-room-btn{width:100%;padding:20px;background:#fff;border:2px dashed #ddd;border-radius:14px;font-size:1rem;font-weight:600;color:#888;cursor:pointer;transition:all .2s}.add-room-btn:hover{border-color:var(--primary);color:var(--primary);background:#f8fbff}.photo-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a}.photo-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.photo-section-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.photo-count{font-size:.85rem;color:var(--text-secondary);background:#f5f5f5;padding:4px 12px;border-radius:20px;font-weight:500}.photo-hint{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px}.hidden-input{display:none}.image-drop-zone{margin-bottom:15px}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 30px;background:#fafafa;border:2px dashed #ddd;border-radius:12px;cursor:pointer;transition:all .2s}.drop-zone-content:hover,.image-drop-zone.drag-over .drop-zone-content{border-color:var(--primary);background:#f8fbff}.drop-icon{font-size:2.5rem}.drop-text{font-size:.95rem;color:#888;font-weight:500}.image-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.image-preview{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;box-shadow:0 2px 6px #0000001a}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#0009;border:none;border-radius:50%;color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-image-btn:hover{background:#000c}.cover-badge{position:absolute;top:8px;left:8px;background:var(--primary);color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.review-sections{display:flex;flex-direction:column;gap:20px}.review-section{background:#fff;border-radius:16px;padding:24px;border:1px solid #e8e8e8;box-shadow:0 2px 8px #0000000a}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.review-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.edit-btn{background:#f0f7ff;border:none;color:var(--primary);font-size:.85rem;font-weight:500;cursor:pointer;padding:6px 14px;border-radius:6px;transition:all .2s}.edit-btn:hover{background:#e0efff}.review-content p{margin:0 0 8px;font-size:.95rem;color:var(--text-primary);line-height:1.5}.review-description{font-style:italic;color:var(--text-secondary)!important;background:#f8f8f8;padding:12px 16px;border-radius:8px;margin-top:12px!important}.review-rooms{display:flex;flex-direction:column;gap:16px}.review-room{padding:16px;background:#f8f9fa;border-radius:10px;border:1px solid #eee}.review-room:last-child{margin-bottom:0}.review-badge{background:var(--primary);color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;margin-left:12px}.terms-section{margin-top:28px;padding-top:28px;border-top:1px solid #eee}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.9rem;color:var(--text-primary);line-height:1.5}.checkbox-label input{margin-top:4px;width:18px;height:18px;cursor:pointer}.reg-navigation{display:flex;justify-content:space-between;margin-top:35px;padding-top:25px;border-top:1px solid #eee}.reg-btn{padding:14px 32px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.reg-btn-back{background:#f5f5f5;border:none;color:var(--text-primary)}.reg-btn-back:hover{background:#eee}.reg-btn-next,.reg-btn-submit{background:var(--primary);border:none;color:#fff;margin-left:auto;box-shadow:0 2px 8px #2563eb4d}.reg-btn-next:hover,.reg-btn-submit:hover{background:var(--primary-hover);box-shadow:0 4px 12px #2563eb66}.reg-btn-next:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.reg-btn-next:disabled:hover{background:var(--primary);box-shadow:none}.reg-btn-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.registration-success{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-light);padding:20px}.success-content{background:#fff;padding:50px;border-radius:20px;text-align:center;max-width:500px;box-shadow:0 4px 20px #00000014}.success-icon{font-size:4rem;display:block;margin-bottom:24px}.success-content h1{font-size:1.8rem;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.success-content>p{color:var(--text-secondary);margin-bottom:8px;line-height:1.6}.success-next-steps{background:#f8f9fa;border-radius:12px;padding:24px;margin:28px 0;text-align:left}.success-next-steps h4{font-size:1rem;font-weight:600;margin-bottom:14px;color:var(--text-primary)}.success-next-steps ol{margin:0;padding-left:20px}.success-next-steps li{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.success-btn{padding:16px 36px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #2563eb4d;transition:all .2s}.success-btn:hover{background:var(--primary-hover);box-shadow:0 4px 12px #2563eb66}.map-hint{font-size:.85rem;color:var(--text-secondary);margin-bottom:12px}.map-container{border-radius:12px;overflow:hidden;border:2px solid #e0e0e0;margin-bottom:12px;box-shadow:0 4px 6px -1px #0000001a}.location-map{height:400px;width:100%;z-index:1}.google-map{width:100%;height:400px;border-radius:12px}.find-on-map-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b82f64d}.find-on-map-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f666}.find-on-map-btn:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.location-selected{margin-top:8px;padding:10px 14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;font-size:.9rem;font-weight:500}.review-location{color:var(--text-secondary);font-size:.85rem}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background:#f9fafb;border-radius:12px;border:2px dashed #d1d5db;color:#6b7280;font-size:.9rem;gap:12px}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.map-error{display:flex;align-items:center;justify-content:center;height:400px;background:#fef2f2;border-radius:12px;border:2px solid #fecaca;color:#dc2626;font-size:.9rem;padding:20px;text-align:center}@media(max-width:768px){.property-registration{padding:20px 15px}.reg-form{padding:25px 20px}.property-types-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.three-columns{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.room-form-row{grid-template-columns:1fr}.bed-row{flex-wrap:wrap}.bed-type-select{width:100%;max-width:100%;flex:1}.image-preview-grid{grid-template-columns:repeat(2,1fr)}.step-label{font-size:.7rem}.reg-btn{padding:12px 24px}.location-map,.google-map,.map-loading,.map-error{height:300px}}.address-autocomplete-input{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;background:#fafafa;transition:all .2s}.address-autocomplete-input:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #1a56db1a}.address-autocomplete-input::placeholder{color:#999}.pac-container{border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 4px 20px #00000026;margin-top:4px;font-family:inherit}.pac-item{padding:10px 14px;font-size:.95rem;cursor:pointer}.pac-item:hover{background:#f5f5f5}.pac-item-selected{background:#e8f0fe}.pac-icon{margin-right:10px}.pac-item-query{font-size:.95rem;color:var(--text-primary)}.btn-hint{display:block;font-size:.8rem;color:var(--text-secondary);margin-top:6px;text-align:center}.found-address{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:10px;margin-top:12px}.found-address-icon{color:#2e7d32;font-size:1.2rem;font-weight:600}.found-address-text{flex:1;font-size:.95rem;color:#1b5e20;font-weight:500}.clear-address-btn{padding:6px 12px;background:transparent;border:1px solid #a5d6a7;border-radius:6px;color:#2e7d32;font-size:.8rem;cursor:pointer;transition:all .2s}.clear-address-btn:hover{background:#c8e6c9}.input-hint{display:block;font-size:.8rem;color:var(--text-secondary);margin-top:6px}.manual-entry-divider{display:flex;align-items:center;margin:24px 0 16px}.manual-entry-divider:before,.manual-entry-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.manual-entry-divider span{padding:0 16px;font-size:.85rem;color:var(--text-secondary);font-weight:500}.or-divider{display:flex;align-items:center;margin:24px 0}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.or-divider span{padding:0 20px;font-size:.9rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:1px}.location-section{margin-top:20px}.location-coords{margin-top:8px;font-size:.85rem;color:var(--text-secondary);font-family:monospace}.calendar-pricing{display:flex;flex-direction:column;gap:24px}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#64748b}.calendar-loading .spinner{animation:spin 1s linear infinite;margin-bottom:16px}.bulk-panel{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000a}.bulk-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#1e293b;margin:0 0 20px}.bulk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.bulk-section{background:#f8fafc;border-radius:12px;padding:16px}.bulk-section h4{font-size:14px;font-weight:600;color:#334155;margin:0 0 12px}.bulk-rooms{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.bulk-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s}.bulk-checkbox:hover{border-color:#3b82f6}.bulk-checkbox.select-all{background:#e0e7ff;border-color:#c7d2fe;font-weight:600}.bulk-checkbox.queued{background:#d1fae5;border-color:#6ee7b7}.bulk-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.bulk-checkbox input:checked+span{color:#3b82f6;font-weight:600}.room-base-price{margin-left:auto;font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:4px}.queued-price{margin-left:auto;font-size:12px;font-weight:600;color:#047857;background:#a7f3d0;padding:2px 8px;border-radius:4px}.date-range-inputs{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px}.date-input-group{flex:1}.date-input-group label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.date-input-group input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff}.date-input-group input:focus{outline:none;border-color:#3b82f6}.date-arrow{color:#94a3b8;font-size:18px;padding-bottom:10px}.quick-dates{display:flex;flex-wrap:wrap;gap:8px}.quick-dates button{padding:6px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#475569;cursor:pointer;transition:all .2s}.quick-dates button:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.day-selection{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.day-selection>label{display:block;font-size:12px;color:#64748b;margin-bottom:8px}.day-toggles{display:flex;gap:6px;flex-wrap:wrap}.day-toggle{padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s;min-width:44px;text-align:center}.day-toggle:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.day-toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.day-hint{display:block;margin-top:8px;font-size:11px;color:#64748b;font-style:italic}.action-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.action-tab{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.action-tab:hover{border-color:#3b82f6;color:#3b82f6}.action-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.action-input{margin-top:12px}.action-input label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.action-input>input{width:100%;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;background:#fff}.action-input>input:focus{outline:none;border-color:#3b82f6}.price-with-queue{display:flex;gap:8px}.price-with-queue input{flex:1;padding:12px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;background:#fff}.price-with-queue input:focus{outline:none;border-color:#3b82f6}.queue-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.queue-btn:hover:not(:disabled){background:#d97706;transform:scale(1.05)}.queue-btn:disabled{background:#cbd5e1;cursor:not-allowed}.queue-hint{font-size:12px;color:#64748b;margin:8px 0 0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.formula-examples{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;color:#64748b}.formula-examples code{background:#e0e7ff;color:#4338ca;padding:2px 6px;border-radius:4px;font-family:monospace}.action-description{font-size:14px;color:#64748b;margin:12px 0 0;padding:12px;background:#fff;border-radius:8px}.queued-list{margin-top:20px;padding:16px;background:#fefce8;border:1px solid #fde047;border-radius:12px}.queued-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.queued-header h4{font-size:14px;font-weight:600;color:#854d0e;margin:0}.clear-queue-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #fde047;border-radius:6px;font-size:12px;color:#854d0e;cursor:pointer;transition:all .2s}.clear-queue-btn:hover{background:#fef9c3}.queued-items{display:flex;flex-wrap:wrap;gap:8px}.queued-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;font-size:13px}.queued-room{font-weight:500;color:#1e293b}.queued-price-value{font-weight:700;color:#047857}.remove-queued{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#fee2e2;border:none;border-radius:4px;color:#dc2626;cursor:pointer;transition:all .2s}.remove-queued:hover{background:#fecaca}.bulk-apply{display:flex;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.apply-btn{display:flex;align-items:center;gap:8px;padding:14px 32px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.apply-btn:hover{background:#2563eb;transform:translateY(-1px)}.apply-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.apply-btn .spinner{animation:spin 1s linear infinite}.apply-count{background:#fff3;padding:2px 8px;border-radius:4px;font-size:13px}.bulk-message{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.bulk-message.success{background:#d1fae5;color:#047857}.bulk-message.error{background:#fee2e2;color:#dc2626}.calendar-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.calendar-header h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#1e293b;margin:0}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav button{background:#f1f5f9;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#334155;font-weight:500;transition:all .2s}.calendar-nav button:hover{background:#e2e8f0}.calendar-nav button.disabled,.calendar-nav button:disabled{opacity:.4;cursor:not-allowed}.calendar-nav button.disabled:hover,.calendar-nav button:disabled:hover{background:#f1f5f9}.calendar-nav .today-btn{padding:8px 16px}.date-range-label{font-weight:600;color:#1e293b;margin-left:12px;font-size:14px}.calendar-grid-container{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}.calendar-grid{width:100%;border-collapse:collapse;min-width:1200px}.calendar-grid th,.calendar-grid td{border:1px solid #e2e8f0;text-align:center;vertical-align:middle}.room-header{position:sticky;left:0;background:#f8fafc;z-index:10;min-width:160px;padding:12px 16px;text-align:left;font-weight:600;color:#334155}.date-header{padding:10px 8px;background:#f8fafc;min-width:80px}.date-header.weekend{background:#fef3c7}.date-header.in-range{background:#dbeafe}.day-name{display:block;font-size:11px;color:#64748b;font-weight:500}.day-num{display:block;font-size:16px;font-weight:700;color:#1e293b}.month-name{display:block;font-size:10px;color:#94a3b8}.room-cell{position:sticky;left:0;background:#fff;z-index:5;padding:12px 16px;text-align:left;min-width:160px}.row-selected .room-cell{background:#eff6ff}.room-info strong{display:block;font-size:14px;color:#1e293b;margin-bottom:2px}.room-info span{font-size:12px;color:#64748b}.rate-cell{padding:8px;background:#fff;position:relative;min-width:80px;height:60px}.rate-cell.weekend{background:#fffbeb}.rate-cell.closed{background:#fee2e2}.rate-cell.in-range{background:#eff6ff;box-shadow:inset 0 0 0 2px #3b82f6}.row-selected .rate-cell{background:#f8fafc}.row-selected .rate-cell.weekend{background:#fef3c7}.row-selected .rate-cell.in-range{background:#dbeafe}.price-input{width:100%;padding:8px;border:1px solid #e2e8f0;border-radius:6px;text-align:center;font-size:14px;font-weight:600;color:#1e293b;background:transparent}.price-input:focus{outline:none;border-color:#3b82f6;background:#fff}.price-input::-webkit-outer-spin-button,.price-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.closed-label{display:block;font-size:12px;font-weight:600;color:#dc2626;padding:8px}.calendar-legend{display:flex;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.calendar-legend span{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.legend-box{width:20px;height:20px;border-radius:4px;border:1px solid #e2e8f0}.legend-box.weekend{background:#fef3c7}.legend-box.closed{background:#fee2e2}.legend-box.in-range{background:#dbeafe;box-shadow:inset 0 0 0 2px #3b82f6}.currency-selector-panel{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px 20px;margin-bottom:20px}.currency-selector-content{display:flex;align-items:center;gap:12px}.currency-selector-content label{font-weight:600;color:#92400e;font-size:.95rem;white-space:nowrap}.currency-selector-content select{padding:10px 14px;border:2px solid #f59e0b;border-radius:8px;font-size:.95rem;font-weight:600;background:#fff;color:#1e293b;cursor:pointer;min-width:200px}.currency-selector-content select:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px #f59e0b33}.currency-selector-content select:disabled{opacity:.7;cursor:not-allowed}.currency-selector-content .spinner{animation:spin 1s linear infinite;color:#92400e}.currency-hint{margin:10px 0 0;font-size:.85rem;color:#92400e}.inventory-display{display:inline-flex;align-items:center;justify-content:center;width:36px;height:28px;border-radius:6px;font-size:13px;font-weight:600;border:1px solid transparent}.inventory-display.low{background:#fee2e2;color:#991b1b;border-color:#fecaca}.inventory-display.medium{background:#fef3c7;color:#92400e;border-color:#fcd34d}.inventory-display.good{background:#d1fae5;color:#065f46;border-color:#6ee7b7}@media(max-width:640px){.currency-selector-content{flex-direction:column;align-items:flex-start;gap:8px}.currency-selector-content select{width:100%}}.calendar-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.inventory-toggle{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:#1d4ed8;transition:all .2s}.inventory-toggle:hover{background:#dbeafe}.inventory-toggle input{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.inventory-row{background:#f0f9ff}.inventory-row.row-selected{background:#dbeafe}.room-cell-with-inventory{vertical-align:middle}.room-cell-with-inventory .room-info{display:flex;flex-direction:column;gap:2px}.room-count{font-size:11px;color:#64748b;font-weight:400}.inventory-cell{padding:6px 4px;background:#f0f9ff;text-align:center}.inventory-cell.weekend{background:#fef9c3}.inventory-cell.in-range{background:#dbeafe;box-shadow:inset 0 0 0 2px #3b82f6}.inventory-input{width:44px;padding:4px 2px;border:1px solid #bfdbfe;border-radius:4px;text-align:center;font-size:13px;font-weight:700;background:#fff}.inventory-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.inventory-input::-webkit-outer-spin-button,.inventory-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inventory-input.low{background:#fef2f2;border-color:#fecaca;color:#dc2626}.inventory-input.medium{background:#fffbeb;border-color:#fde047;color:#b45309}.inventory-input.good{background:#f0fdf4;border-color:#86efac;color:#16a34a}.legend-box.inventory-low{background:#fef2f2;border-color:#fecaca}.legend-box.inventory-medium{background:#fffbeb;border-color:#fde047}.legend-box.inventory-good{background:#f0fdf4;border-color:#86efac}@media(max-width:1200px){.bulk-grid{grid-template-columns:1fr}}@media(max-width:768px){.bulk-panel,.calendar-section{padding:16px}.date-range-inputs{flex-direction:column}.date-arrow{display:none}.quick-dates{justify-content:center}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-controls{flex-direction:column;align-items:flex-start;width:100%;gap:12px}.bulk-apply{flex-direction:column}.apply-btn,.bulk-message{width:100%;justify-content:center}.action-tabs{justify-content:center}.calendar-legend{flex-wrap:wrap;justify-content:center}.queued-items{flex-direction:column}.queued-item{width:100%;justify-content:space-between}}.room-edit-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow:hidden}.room-edit-modal{background:#fff;border-radius:16px;width:100%;max-width:700px;height:85vh;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid #e2e8f0;flex:0 0 auto;background:#fff;z-index:10}.modal-header h2{font-size:20px;font-weight:700;color:#1e293b;margin:0}.modal-header p{font-size:14px;color:#64748b;margin:4px 0 0}.close-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:8px;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#1e293b}.modal-tabs{display:flex;gap:4px;padding:10px 24px;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:0 0 auto;z-index:10}.modal-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.modal-tab:hover{background:#fff;color:#1e293b}.modal-tab.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:#e2e8f0;border-radius:11px;font-size:12px;font-weight:600;color:#475569}.modal-tab.active .tab-badge{background:#3b82f6;color:#fff}.modal-content{flex:1 1 auto;overflow:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:24px 24px 100px;position:relative;touch-action:pan-y}.edit-section{margin-bottom:32px}.edit-section:last-child{margin-bottom:40px}.edit-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0}.amenity-count{font-size:13px;color:#3b82f6;font-weight:500;background:#eff6ff;padding:4px 12px;border-radius:20px}.amenities-prompt{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:12px;padding:20px;margin-top:24px}.amenities-prompt-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.amenities-prompt h3{margin:0 0 4px;font-size:15px}.amenities-prompt p{margin:0;font-size:13px;color:#64748b}.go-to-amenities-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.go-to-amenities-btn:hover{background:#2563eb}.amenities-help{font-size:13px;color:#64748b;margin:0 0 20px;padding:12px 16px;background:#f8fafc;border-radius:8px;border-left:3px solid #3b82f6}.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#64748b}.form-group input,.form-group select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.toggle-btn{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;background:#fff;color:#64748b;cursor:pointer;transition:all .2s}.toggle-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.amenity-category{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.amenity-category:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.amenity-category h4{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin:0}.category-count{font-size:12px;font-weight:500;color:#3b82f6;text-transform:none;letter-spacing:0}.category-actions{display:flex;gap:8px}.category-action-btn{padding:4px 10px;background:transparent;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.category-action-btn:hover{border-color:#3b82f6;color:#3b82f6}.category-action-btn.clear:hover{border-color:#ef4444;color:#ef4444}.beds-list{display:flex;flex-direction:column;gap:12px}.bed-row{display:flex;align-items:center;gap:12px}.bed-count{width:70px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff}.bed-type{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff}.bed-count:focus,.bed-type:focus{outline:none;border-color:#3b82f6}.add-bed-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#eff6ff;color:#3b82f6;border:1px solid #3b82f6;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.add-bed-btn:hover{background:#3b82f6;color:#fff}.remove-bed-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.remove-bed-btn:hover{background:#dc2626;color:#fff}.bed-preview{margin-top:12px;padding:10px 14px;background:#f8fafc;border-radius:8px;font-size:13px;color:#64748b}.bed-preview strong{color:#1e293b}.amenity-grid{display:flex;flex-wrap:wrap;gap:8px}.amenity-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #e2e8f0;border-radius:20px;font-size:13px;background:#fff;color:#475569;cursor:pointer;transition:all .2s}.amenity-toggle:hover{border-color:#3b82f6;color:#3b82f6;background:#f8fafc}.amenity-toggle.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.amenity-toggle.active svg{color:#3b82f6}.modal-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex:0 0 auto;background:#fff;z-index:10}.footer-actions{display:flex;gap:12px;margin-left:auto}.save-message{font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.btn-secondary{padding:10px 20px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}@media(max-width:768px){.room-edit-overlay{padding:0;align-items:flex-end}.room-edit-modal{height:92vh;max-height:92vh;border-radius:16px 16px 0 0}.modal-header{padding:16px 16px 12px}.modal-tabs{padding:8px 16px}.modal-tab{flex:1;justify-content:center;padding:10px 12px;font-size:13px}.modal-content{padding:16px 16px 120px}.details-grid{grid-template-columns:repeat(2,1fr)}.modal-footer{flex-direction:column;padding:12px 16px}.footer-actions{width:100%;margin-left:0}.footer-actions button{flex:1}.amenities-prompt-content{flex-direction:column;align-items:flex-start}.go-to-amenities-btn{width:100%;justify-content:center}.category-header{flex-direction:column;align-items:flex-start;gap:8px}.amenity-grid{gap:6px}.amenity-toggle{padding:6px 12px;font-size:12px}}@media(max-width:480px){.details-grid{grid-template-columns:1fr}}.room-order-manager{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px;flex-wrap:wrap}.order-title h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 4px}.order-title p{font-size:13px;color:#64748b;margin:0}.order-actions{display:flex;gap:10px}.btn-reset{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-reset:hover{background:#f8fafc;color:#1e293b}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save:hover{background:#2563eb}.btn-save:disabled{background:#94a3b8;cursor:not-allowed}.btn-save .spinner{animation:spin 1s linear infinite}.order-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px}.order-info svg{color:#0284c7;flex-shrink:0}.order-info span{font-size:13px;color:#0369a1}.order-message{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.order-message.success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.order-message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.rooms-order-list{display:flex;flex-direction:column;gap:8px}.room-order-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:grab;transition:all .2s}.room-order-item:hover{background:#f1f5f9;border-color:#cbd5e1}.room-order-item.dragging{opacity:.5;background:#e0f2fe;border-color:#3b82f6;transform:scale(1.02)}.room-order-item:active{cursor:grabbing}.drag-handle{color:#94a3b8;cursor:grab;display:flex;align-items:center}.drag-handle:hover{color:#64748b}.room-order-number{width:28px;height:28px;background:#3b82f6;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.room-order-info{flex:1;min-width:0}.room-order-info h4{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-order-info p{font-size:13px;color:#64748b;margin:0}.room-order-buttons{display:flex;flex-direction:column;gap:4px}.move-btn{width:32px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.move-btn:hover:not(:disabled){background:#f1f5f9;color:#3b82f6;border-color:#3b82f6}.move-btn:disabled{opacity:.3;cursor:not-allowed}@media(max-width:640px){.room-order-manager{padding:16px}.order-header{flex-direction:column;align-items:stretch}.order-actions{justify-content:flex-end}.room-order-item{padding:12px;gap:10px}.room-order-info h4{font-size:14px}.room-order-info p{font-size:12px}.room-order-buttons{flex-direction:row}}.hotel-amenities{max-width:900px}.amenities-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.amenities-header h2{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.amenities-header p{font-size:14px;color:#64748b;margin:0}.filled-count{background:#eff6ff;color:#3b82f6;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.amenity-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}.amenity-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.breakfast-options,.policy-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.breakfast-option,.policy-option{display:flex;flex-direction:column;padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.breakfast-option:hover,.policy-option:hover{border-color:#3b82f6}.breakfast-option.active,.policy-option.active{background:#eff6ff;border-color:#3b82f6}.breakfast-option input,.policy-option input{display:none}.option-label{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.option-desc{font-size:12px;color:#64748b}.breakfast-price{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.breakfast-price label{display:block;font-size:13px;font-weight:500;color:#64748b;margin-bottom:6px}.breakfast-price input{width:120px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.breakfast-price input:focus{outline:none;border-color:#3b82f6}.amenity-list{display:flex;flex-direction:column;gap:12px}.amenity-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-radius:8px}.amenity-label{font-size:14px;font-weight:500;color:#1e293b}.amenity-options{display:flex;gap:8px}.option-btn{padding:6px 14px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.option-btn:hover{border-color:#3b82f6;color:#3b82f6}.option-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.option-btn.active.negative{background:#ef4444;border-color:#ef4444}.option-btn.negative:hover:not(.active){border-color:#ef4444;color:#ef4444}.amenities-footer{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.save-btn{display:flex;align-items:center;gap:8px;padding:12px 28px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover{background:#2563eb}.save-btn:disabled{background:#94a3b8;cursor:not-allowed}.save-message{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500}.save-message.success{background:#d1fae5;color:#047857}.save-message.error{background:#fee2e2;color:#dc2626}.spinner{animation:spin 1s linear infinite}@media(max-width:768px){.amenities-header{flex-direction:column;gap:12px}.amenity-row{flex-direction:column;align-items:flex-start;gap:10px}.amenity-options{width:100%;justify-content:flex-start}.breakfast-options,.policy-options{grid-template-columns:1fr}.amenities-footer{flex-direction:column}.save-btn{width:100%;justify-content:center}}.rate-plans-page{max-width:900px}.rate-plans-header{margin-bottom:24px}.rate-plans-header .page-subtitle{color:#64748b;font-size:.95rem;margin:0}.rate-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.rate-plan-card{background:#fff;border-radius:16px;padding:24px;border:2px solid #e2e8f0;position:relative;transition:all .2s}.rate-plan-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.rate-plan-card.standard{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#fff)}.rate-plan-card.non-refundable{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#fff)}.rate-plan-badge{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:4px;background:#10b981;color:#fff;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.rate-plan-icon{font-size:2.5rem;margin-bottom:12px}.rate-plan-card h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0 0 8px}.rate-plan-description{color:#64748b;font-size:.9rem;margin:0 0 20px;line-height:1.5}.rate-plan-details{display:flex;flex-direction:column;gap:12px}.rate-plan-details .detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fffc;border-radius:10px;border:1px solid #e2e8f0}.rate-plan-details .label{color:#64748b;font-size:.85rem}.rate-plan-details .value{font-weight:600;color:#1e293b;font-size:.9rem}.rate-plan-details .value.highlight{color:#3b82f6}.rate-plan-details .value.discount{color:#10b981}.rate-plan-example{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;background:#f0fdf4;border-radius:10px;color:#166534;font-size:.85rem}.cancellation-settings{background:#fff;border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid #e2e8f0}.cancellation-settings h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0 0 4px}.cancellation-settings>p{color:#64748b;font-size:.9rem;margin:0 0 20px}.cancellation-options{display:flex;flex-direction:column;gap:12px}.cancellation-option{display:flex;align-items:center;padding:16px 20px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.cancellation-option:hover{border-color:#cbd5e1;background:#f1f5f9}.cancellation-option.selected{border-color:#3b82f6;background:#eff6ff}.cancellation-option input{display:none}.cancellation-option .option-content{flex:1;display:flex;flex-direction:column;gap:2px}.cancellation-option .option-days{font-size:1rem;font-weight:700;color:#1e293b}.cancellation-option .option-description{font-size:.85rem;color:#64748b}.cancellation-option.selected .option-days{color:#3b82f6}.cancellation-option .option-check{width:28px;height:28px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.guest-preview{background:#fff;border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid #e2e8f0}.guest-preview h3{font-size:1.1rem;font-weight:700;color:#1e293b;margin:0 0 4px}.guest-preview>p{color:#64748b;font-size:.9rem;margin:0 0 20px}.preview-box{background:#f8fafc;border-radius:12px;padding:20px;border:1px solid #e2e8f0}.preview-room{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.preview-room-name{font-weight:700;color:#1e293b;font-size:1rem}.preview-room-info{color:#64748b;font-size:.85rem}.preview-options{display:flex;flex-direction:column;gap:12px}.preview-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s}.preview-option:hover{border-color:#cbd5e1}.preview-option:has(input:checked){border-color:#3b82f6;background:#eff6ff}.preview-option input{margin-top:2px;accent-color:#3b82f6}.preview-option-content{flex:1;display:flex;flex-direction:column;gap:6px}.preview-option-header{display:flex;justify-content:space-between;align-items:center}.preview-option-name{font-weight:600;color:#1e293b;font-size:.95rem;display:flex;align-items:center;gap:8px}.save-badge{background:#10b981;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700}.preview-option-price{font-weight:700;color:#1e293b;font-size:1.1rem}.preview-option-price.discount{color:#10b981}.preview-option-policy{font-size:.85rem}.preview-option-policy.success{color:#10b981}.preview-option-policy.warning{color:#ef4444}.rate-plans-footer{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-top:20px;border-top:1px solid #e2e8f0}.save-success{display:flex;align-items:center;gap:6px;color:#10b981;font-weight:500;font-size:.9rem}.rate-plans-footer .btn-primary{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.rate-plans-footer .btn-primary:hover:not(:disabled){background:#2563eb}.rate-plans-footer .btn-primary:disabled,.rate-plans-footer .btn-primary.disabled{background:#94a3b8;cursor:not-allowed}.rate-plans-footer .btn-primary .spinner{animation:spin 1s linear infinite}@media(max-width:640px){.rate-plans-grid{grid-template-columns:1fr}.preview-room,.preview-option-header{flex-direction:column;align-items:flex-start;gap:4px}.rate-plans-footer{flex-direction:column;align-items:stretch}.rate-plans-footer .btn-primary{justify-content:center}}.guest-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.guest-modal{background:#fff;border-radius:16px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .2s ease-out}.modal-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:#9ca3af;padding:6px;border-radius:8px;transition:all .2s;z-index:10}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.guest-modal-header{display:flex;align-items:center;gap:16px;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb}.guest-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#1a56db,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.guest-info h2{font-size:18px;font-weight:600;color:#111827;margin:0 0 4px}.guest-info p{font-size:14px;color:#6b7280;margin:0}.guest-modal-loading,.guest-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#6b7280}.guest-modal-loading .spinner{animation:spin .8s linear infinite;margin-bottom:12px}.guest-modal-empty svg{color:#d1d5db;margin-bottom:16px}.guest-modal-empty h3{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.guest-modal-empty p{font-size:14px;margin:0}.reputation-badge{display:inline-flex;align-items:center;gap:8px;margin:20px 24px 0;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500}.reputation-badge.green{background:#d1fae5;color:#065f46}.reputation-badge.blue{background:#dbeafe;color:#1e40af}.reputation-badge.yellow{background:#fef3c7;color:#92400e}.reputation-badge.red{background:#fee2e2;color:#991b1b}.guest-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px 24px}.stat-card{display:flex;align-items:center;gap:12px;padding:14px;background:#f9fafb;border-radius:10px}.stat-icon{width:40px;height:40px;border-radius:10px;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.green{background:#d1fae5;color:#059669}.stat-icon.red{background:#fee2e2;color:#dc2626}.stat-icon.orange{background:#ffedd5;color:#ea580c}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:700;color:#111827;line-height:1.2}.stat-label{font-size:12px;color:#6b7280}.completion-section{padding:0 24px 20px}.section-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#374151;margin-bottom:12px}.section-header svg{color:#6b7280}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;border-radius:4px;transition:width .5s ease-out}.progress-fill.green{background:linear-gradient(90deg,#10b981,#059669)}.progress-fill.yellow{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.progress-fill.red{background:linear-gradient(90deg,#f87171,#dc2626)}.progress-label{font-size:13px;color:#6b7280}.review-section{padding:20px 24px;border-top:1px solid #e5e7eb}.review-stats{display:flex;flex-direction:column;gap:12px}.review-stat{display:flex;align-items:center;justify-content:space-between}.review-value{font-size:18px;font-weight:700;color:#111827;margin-right:8px}.review-label{font-size:14px;color:#6b7280}.avg-rating{display:flex;align-items:center;gap:6px}.rating-value{font-size:20px;font-weight:700;color:#111827}.rating-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.rating-badge.green{background:#d1fae5;color:#065f46}.rating-badge.blue{background:#dbeafe;color:#1e40af}.rating-badge.yellow{background:#fef3c7;color:#92400e}.rating-badge.red{background:#fee2e2;color:#991b1b}.no-reviews-note{font-size:13px;color:#9ca3af;font-style:italic;margin:8px 0 0}.insights-section{padding:20px 24px 24px;border-top:1px solid #e5e7eb}.insights-section h4{font-size:13px;font-weight:600;color:#374151;margin:0 0 12px}.insights-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.insights-section li{font-size:13px;padding:10px 12px;border-radius:8px}.insights-section li.positive{background:#f0fdf4;color:#166534}.insights-section li.negative{background:#fef2f2;color:#991b1b}.insights-section li.warning{background:#fffbeb;color:#92400e}.insights-section li.neutral{background:#f9fafb;color:#6b7280}@media(max-width:480px){.guest-modal{max-width:100%;margin:10px;max-height:85vh}.guest-modal-header{padding:20px}.guest-avatar{width:48px;height:48px}.guest-info h2{font-size:16px}.guest-stats-grid{padding:16px 20px;gap:10px}.stat-card{padding:12px}.stat-icon{width:36px;height:36px}.stat-value{font-size:18px}.completion-section,.review-section,.insights-section{padding-left:20px;padding-right:20px}.reputation-badge{margin-left:20px;margin-right:20px}}.extranet-reservations{padding:24px}.reservations-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;text-align:center}.stat-card .stat-value{font-size:28px;font-weight:700;color:#111827;margin-bottom:4px}.stat-card .stat-label{font-size:13px;color:#6b7280}.stat-card.revenue .stat-value{color:#059669}.reservations-filters{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:24px}.filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:140px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#1a56db;box-shadow:0 0 0 3px #1a56db1a}.select-wrapper{position:relative;display:inline-block}.select-wrapper select{appearance:none;padding-right:32px}.select-wrapper .select-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#6b7280}.datepicker-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;min-width:140px}.search-group{flex:1;min-width:200px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:12px;color:#9ca3af}.search-input-wrapper input{width:100%;padding-left:36px;padding-right:32px}.clear-search{position:absolute;right:8px;background:none;border:none;padding:4px;cursor:pointer;color:#9ca3af;border-radius:4px}.clear-search:hover{background:#f3f4f6;color:#6b7280}.reservations-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.reservations-table{width:100%;border-collapse:collapse;font-size:14px}.reservations-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.reservations-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.reservations-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;vertical-align:top}.reservations-table tbody tr:hover{background:#f9fafb}.reservations-table tbody tr.cancelled{background:#fef2f2;opacity:.7}.guest-cell{min-width:160px}.guest-name{font-weight:500;color:#111827;margin-bottom:2px}.guest-name.clickable{cursor:pointer;color:#1a56db}.guest-name.clickable:hover{text-decoration:underline}.guest-meta{font-size:12px;color:#6b7280}.room-name{font-weight:500;color:#111827;margin-bottom:2px}.room-meta{font-size:12px;color:#6b7280}.booked-date{white-space:nowrap;color:#6b7280;font-size:13px}.price-cell{white-space:nowrap}.total-price{font-weight:600;color:#111827}.rate-plan-badge{font-size:10px;color:#6b7280;margin-top:2px}.ref-cell code{font-family:monospace;font-size:12px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#374151}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:20px;white-space:nowrap}.status-badge.confirmed{background:#d1fae5;color:#065f46}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.status-badge.completed{background:#dbeafe;color:#1e40af}.status-badge.no_show{background:#fef3c7;color:#92400e}.view-btn{background:none;border:1px solid #e5e7eb;border-radius:8px;padding:8px;cursor:pointer;color:#6b7280;transition:all .2s}.view-btn:hover{background:#f3f4f6;color:#111827;border-color:#d1d5db}.loading-state,.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;margin-bottom:12px;color:#1a56db}.empty-state svg,.error-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h3,.error-state h3{font-size:16px;color:#374151;margin:0 0 8px}.empty-state p,.error-state p{margin:0;font-size:14px}.error-state button{margin-top:16px;padding:8px 16px;background:#1a56db;color:#fff;border:none;border-radius:8px;cursor:pointer}@media(max-width:1024px){.reservations-table-container{overflow-x:auto}.reservations-table{min-width:800px}}@media(max-width:768px){.filter-row{flex-direction:column}.filter-group,.filter-group select,.filter-group input{width:100%}.reservations-stats{grid-template-columns:repeat(2,1fr)}}.extranet-reviews{padding:24px}.reviews-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px;color:#64748b}.reviews-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{width:80px;height:80px;background:#eff6ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#3b82f6;margin-bottom:20px}.reviews-empty h3{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 8px}.reviews-empty p{font-size:14px;color:#64748b;margin:0}.reviews-overview{display:grid;grid-template-columns:280px 1fr;gap:20px;margin-bottom:32px}.overview-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0}.main-score{display:flex;flex-direction:column;align-items:center;text-align:center}.score-badge{display:flex;align-items:baseline;margin-bottom:8px}.score-number{font-size:56px;font-weight:700;color:#1e293b;line-height:1}.score-max{font-size:24px;font-weight:500;color:#94a3b8;margin-left:4px}.score-info{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.score-label{font-size:18px;font-weight:600;color:#10b981}.review-count{font-size:14px;color:#64748b}.main-score .stars-display{display:flex;gap:4px}.categories-card h4{font-size:14px;font-weight:600;color:#64748b;margin:0 0 20px;text-transform:uppercase;letter-spacing:.5px}.category-scores{display:flex;flex-direction:column;gap:16px}.category-score-row{display:flex;align-items:center;gap:12px}.category-label{display:flex;align-items:center;gap:8px;width:120px;font-size:14px;color:#475569}.category-icon{font-size:16px}.category-bar-container{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.category-bar{height:100%;border-radius:4px;transition:width .5s ease}.category-value{width:36px;font-size:14px;font-weight:600;text-align:right}.category-emoji{width:36px;font-size:20px;text-align:center}.reviews-section{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.section-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1e293b;margin:0}.section-title svg{color:#3b82f6}.policy-link{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#64748b;text-decoration:none;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.policy-link:hover{color:#3b82f6;border-color:#3b82f6;background:#eff6ff}.reviews-list{max-height:800px;overflow-y:auto}.review-item{padding:24px;border-bottom:1px solid #f1f5f9}.review-item:last-child{border-bottom:none}.review-item:hover{background:#fafbfc}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.guest-info{display:flex;align-items:center;gap:12px}.guest-avatar{width:44px;height:44px;background:#eff6ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#3b82f6}.guest-details{display:flex;flex-direction:column;gap:2px}.guest-name{font-size:15px;font-weight:600;color:#1e293b}.review-date{display:flex;align-items:center;gap:6px;font-size:13px;color:#94a3b8}.review-rating .rating-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fef3c7;border-radius:100px;font-size:14px;font-weight:600;color:#b45309}.review-categories{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px;background:#f8fafc;border-radius:8px}.mini-category{display:flex;align-items:center;gap:6px}.mini-label{font-size:12px;color:#64748b}.mini-value{font-size:12px;font-weight:600}.mini-emoji{font-size:16px}.review-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px;font-style:italic}.review-feedback{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.feedback-item{display:flex;gap:12px;padding:12px 16px;border-radius:10px}.feedback-item.liked{background:#f0fdf4;border-left:3px solid #10b981}.feedback-item.disliked{background:#fef2f2;border-left:3px solid #ef4444}.feedback-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.feedback-item.liked .feedback-icon{background:#dcfce7;color:#10b981}.feedback-item.disliked .feedback-icon{background:#fee2e2;color:#ef4444}.feedback-item p{margin:0;font-size:14px;color:#475569;line-height:1.5}.review-images{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.review-image-thumb{width:80px;height:80px;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.review-image-thumb:hover{transform:scale(1.05)}.review-image-thumb img{width:100%;height:100%;object-fit:cover}.owner-reply{background:#eff6ff;border-radius:10px;padding:16px;margin-bottom:16px;border-left:3px solid #3b82f6}.reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reply-label{font-size:12px;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.5px}.reply-date{font-size:12px;color:#94a3b8}.owner-reply p{margin:0;font-size:14px;color:#1e40af;line-height:1.5}.reply-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #3b82f6;color:#3b82f6;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:16px}.reply-btn:hover{background:#eff6ff}.reply-form{background:#f8fafc;border-radius:10px;padding:16px;margin-bottom:16px}.reply-form textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;resize:none;margin-bottom:12px;transition:border-color .2s}.reply-form textarea:focus{outline:none;border-color:#3b82f6}.reply-form-actions{display:flex;justify-content:flex-end;gap:10px}.cancel-reply-btn,.submit-reply-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-reply-btn{background:#fff;border:1px solid #e2e8f0;color:#64748b}.cancel-reply-btn:hover:not(:disabled){background:#f1f5f9}.submit-reply-btn{background:#3b82f6;border:none;color:#fff}.submit-reply-btn:hover:not(:disabled){background:#2563eb}.submit-reply-btn:disabled,.cancel-reply-btn:disabled{opacity:.6;cursor:not-allowed}.stay-info{font-size:12px;color:#94a3b8}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.lightbox-overlay img{max-width:90%;max-height:90%;border-radius:8px;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.lightbox-close:hover{background:#fff3}@media(max-width:900px){.reviews-overview{grid-template-columns:1fr}.main-score{flex-direction:row;justify-content:flex-start;gap:20px}.score-info{align-items:flex-start;margin-bottom:0}.main-score .stars-display{margin-left:auto}}@media(max-width:600px){.extranet-reviews,.overview-card{padding:16px}.score-number{font-size:40px}.review-header{flex-direction:column;gap:12px}.review-categories{gap:8px}.mini-category{flex:0 0 calc(50% - 4px)}.review-images{gap:6px}.review-image-thumb{width:60px;height:60px}}.extranet-campaigns{padding:24px}.campaigns-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.header-text h2{font-size:24px;font-weight:600;color:#111827;margin:0 0 4px}.header-text p{color:#6b7280;font-size:14px;margin:0}.add-campaign-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1a56db;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.add-campaign-btn:hover{background:#1e429f}.flash-status-banner{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-size:14px;margin-bottom:20px}.no-campaigns{text-align:center;padding:60px 20px;background:#f9fafb;border-radius:12px;border:2px dashed #e5e7eb}.empty-icon{font-size:48px;margin-bottom:16px}.no-campaigns h3{font-size:18px;color:#111827;margin:0 0 8px}.no-campaigns p{color:#6b7280;font-size:14px;margin:0 0 20px}.create-first-btn{padding:10px 20px;background:#1a56db;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.campaign-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;transition:box-shadow .2s}.campaign-card:hover{box-shadow:0 4px 12px #00000014}.campaign-card.inactive{opacity:.6}.campaign-card.expired{background:#fef2f2;border-color:#fecaca}.campaign-card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #f3f4f6}.campaign-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.campaign-title{flex:1;min-width:0}.campaign-title h4{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px}.campaign-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;text-transform:capitalize}.campaign-status-badge.active{background:#d1fae5;color:#065f46}.campaign-status-badge.scheduled{background:#dbeafe;color:#1e40af}.campaign-status-badge.expired{background:#fee2e2;color:#991b1b}.campaign-status-badge.inactive{background:#f3f4f6;color:#6b7280}.campaign-toggle-btn{background:none;border:none;cursor:pointer;padding:4px}.toggle-on{color:#10b981}.toggle-off{color:#9ca3af}.campaign-card-body{padding:16px;display:flex;gap:16px}.campaign-discount{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;background:#f0fdf4;border-radius:8px;flex-shrink:0}.campaign-discount-value{font-size:24px;font-weight:700;color:#059669}.campaign-discount-label{font-size:11px;color:#6b7280}.campaign-details{flex:1;display:flex;flex-direction:column;gap:8px}.campaign-detail-row{display:flex;gap:8px;font-size:13px}.campaign-detail-label{color:#6b7280;flex-shrink:0}.campaign-detail-value{color:#111827;font-weight:500}.campaign-detail-value.countries{font-size:12px;line-height:1.4}.campaign-card-actions{display:flex;border-top:1px solid #f3f4f6}.campaign-card-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:none;border:none;font-size:13px;cursor:pointer;transition:background .2s}.campaign-edit-btn{color:#1a56db;border-right:1px solid #f3f4f6!important}.campaign-edit-btn:hover{background:#eff6ff}.campaign-delete-btn{color:#dc2626}.campaign-delete-btn:hover{background:#fef2f2}.campaign-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.campaign-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.campaign-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:6px}.campaign-modal-close:hover{background:#f3f4f6;color:#111827}.campaign-modal h2{font-size:20px;font-weight:600;color:#111827;margin:0;padding:20px 24px;border-bottom:1px solid #e5e7eb}.campaign-modal-step{padding:24px}.campaign-step-description{color:#6b7280;font-size:14px;margin-left:20px;margin-top:10px}.campaign-types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px}.campaign-type-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .2s;position:relative}.campaign-type-card:hover:not(.disabled){border-color:#1a56db;background:#f8fafc}.campaign-type-card.disabled{opacity:.6;cursor:not-allowed}.campaign-type-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.campaign-type-card h4{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px}.campaign-type-card p{font-size:12px;color:#6b7280;margin:0 0 8px;line-height:1.4}.campaign-type-meta{display:flex;gap:8px;flex-wrap:wrap}.campaign-min-discount{font-size:11px;padding:2px 8px;background:#f3f4f6;color:#374151;border-radius:4px}.campaign-exclusive-badge{font-size:11px;padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:4px}.campaign-disabled-reason{position:absolute;bottom:12px;left:16px;right:16px;font-size:11px;color:#dc2626;font-weight:500}.campaign-stacking-info{display:flex;gap:8px;padding:12px 16px;background:#f0f9ff;border-radius:8px;margin-top:20px;font-size:12px;color:#0369a1;line-height:1.5}.campaign-stacking-info svg{flex-shrink:0;margin-top:2px}.campaign-selected-type{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f9fafb;border-radius:8px;margin-bottom:20px}.campaign-type-icon-small{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.campaign-selected-type span{font-weight:500;color:#111827;flex:1}.campaign-change-type{background:none;border:none;color:#1a56db;font-size:13px;cursor:pointer}.campaign-change-type:hover{text-decoration:underline}.campaign-modal-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px;margin-bottom:20px}.campaign-form-fields{display:flex;flex-direction:column;gap:20px}.campaign-form-group{display:flex;flex-direction:column;gap:6px}.campaign-form-group label{font-size:13px;font-weight:500;color:#374151}.campaign-form-group input[type=text],.campaign-form-group input[type=number],.campaign-form-group input[type=date],.campaign-form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827}.campaign-form-group input:focus,.campaign-form-group select:focus{outline:none;border-color:#1a56db;box-shadow:0 0 0 3px #1a56db1a}.campaign-hint{font-size:12px;color:#6b7280}.campaign-discount-input{display:flex;align-items:center;gap:8px}.campaign-discount-input input{width:80px;text-align:center}.campaign-percent-sign{font-size:18px;font-weight:500;color:#374151}.campaign-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.campaign-end-date-options{display:flex;flex-direction:column;gap:8px}.campaign-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.campaign-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.campaign-rate-plan-options{display:flex;gap:8px}.campaign-rate-option{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px;color:#374151}.campaign-rate-option input{display:none}.campaign-rate-option.selected{border-color:#1a56db;background:#eff6ff;color:#1a56db;font-weight:500}.campaign-countries-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:200px;overflow-y:auto;padding:4px}.campaign-country-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:13px;color:#374151;transition:all .2s}.campaign-country-option input{display:none}.campaign-country-option.selected{border-color:#10b981;background:#ecfdf5;color:#065f46}.campaign-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.campaign-cancel-btn{flex:1;padding:10px 20px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;cursor:pointer;text-align:center}.campaign-cancel-btn:hover{background:#f9fafb}.campaign-save-btn{flex:1;padding:10px 24px;background:#1a56db;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;text-align:center}.campaign-save-btn:hover:not(:disabled){background:#1e429f}.campaign-save-btn:disabled{opacity:.6;cursor:not-allowed}.campaigns-loading{padding:60px;text-align:center;color:#6b7280}@media(max-width:768px){.extranet-campaigns{padding:16px}.campaigns-header{flex-direction:column}.add-campaign-btn{width:100%;justify-content:center}.campaigns-grid,.campaign-types-grid,.campaign-form-row{grid-template-columns:1fr}.campaign-rate-plan-options{flex-direction:column}.campaign-countries-grid{grid-template-columns:repeat(2,1fr)}.campaign-modal-actions{flex-direction:column}.campaign-cancel-btn,.campaign-save-btn{width:100%;text-align:center}}.partner-program-page{max-width:800px;margin:0 auto;padding:20px}.partner-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.partner-loading .spinner{animation:spin 1s linear infinite;margin-bottom:12px}.partner-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.partner-header-icon{width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff}.partner-header-text h2{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.partner-header-text p{margin:0;color:var(--text-secondary);font-size:.95rem}.partner-benefits{background:linear-gradient(135deg,#f0f9ff,#ede9fe);border-radius:16px;padding:24px;margin-bottom:24px}.partner-benefits h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.benefit-card{background:#fff;border-radius:12px;padding:20px 16px;text-align:center}.benefit-icon{width:48px;height:48px;background:#f1f5f9;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:#3b82f6}.benefit-card h4{margin:0 0 6px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.benefit-card p{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.partner-settings-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px}.partner-toggle-section{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #eee;margin-bottom:24px}.toggle-info h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.toggle-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.partner-toggle{position:relative;display:inline-block;width:52px;height:28px;cursor:pointer}.partner-toggle input{position:absolute;opacity:0;width:0;height:0}.partner-toggle-track{position:absolute;inset:0;background:#cbd5e1;border-radius:28px;transition:background .3s}.partner-toggle-thumb{position:absolute;width:22px;height:22px;left:3px;top:3px;background:#fff;border-radius:50%;transition:left .3s;box-shadow:0 2px 4px #00000026}.partner-toggle input:checked+.partner-toggle-track{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.partner-toggle input:checked+.partner-toggle-track .partner-toggle-thumb{left:27px}.partner-level-section{margin-bottom:24px}.partner-level-section h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.section-desc{margin:0 0 16px;font-size:.85rem;color:var(--text-secondary)}.partner-levels{display:flex;flex-direction:column;gap:12px}.level-card{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.level-card:hover{border-color:#cbd5e1;background:#f8fafc}.level-card.selected{border-color:#3b82f6;background:#f0f9ff}.level-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.level-icon.partner{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.level-icon.partner-plus{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.level-icon.partner-premium{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.level-info{flex:1}.level-info h5{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.level-discount{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:2px}.level-boost{display:inline-block;font-size:.75rem;color:#059669;background:#d1fae5;padding:2px 8px;border-radius:20px;font-weight:500}.level-check{width:32px;height:32px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.custom-discount-section{padding:20px;background:#f8fafc;border-radius:12px;margin-bottom:24px}.custom-discount-section h4{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.discount-input-group{display:flex;align-items:center;gap:8px;margin-top:12px}.discount-input-group input{width:80px;padding:10px 12px;font-size:1.1rem;font-weight:600;border:2px solid #e2e8f0;border-radius:8px;text-align:center;outline:none;transition:border-color .2s}.discount-input-group input:focus{border-color:#3b82f6}.discount-suffix{font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.discount-hint{display:block;margin-top:8px;font-size:.8rem;color:var(--text-secondary)}.partner-preview{margin-bottom:24px}.partner-preview h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.preview-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.preview-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;margin-bottom:12px}.preview-prices{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.preview-original{font-size:.95rem;color:#94a3b8;text-decoration:line-through}.preview-member{font-size:1.4rem;font-weight:700;color:#059669}.preview-savings{font-size:.8rem;color:#fff;background:#059669;padding:2px 8px;border-radius:4px;font-weight:500}.preview-boost{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#3b82f6}.not-partner-info{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f0f9ff;border-radius:12px;color:#0369a1}.not-partner-info p{margin:0;font-size:.9rem;line-height:1.5}.partner-actions{display:flex;justify-content:flex-end;padding-top:20px;border-top:1px solid #eee}.save-btn{display:flex;align-items:center;gap:8px;padding:12px 32px;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.save-btn:disabled{opacity:.7;cursor:not-allowed}.save-btn.success{background:linear-gradient(135deg,#059669,#10b981)}.save-btn .spinner{animation:spin 1s linear infinite}.partner-faq{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.partner-faq h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.faq-item{padding:16px 0;border-bottom:1px solid #eee}.faq-item:last-child{border-bottom:none;padding-bottom:0}.faq-item h4{margin:0 0 6px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.faq-item p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}@media(max-width:768px){.partner-program-page{padding:16px}.partner-header{flex-direction:column;align-items:flex-start;gap:12px}.partner-header-icon{width:48px;height:48px}.benefits-grid{grid-template-columns:1fr}.benefit-card{display:flex;align-items:center;text-align:left;gap:16px;padding:16px}.benefit-icon{margin:0;flex-shrink:0}.partner-toggle-section{flex-direction:column;align-items:flex-start;gap:16px}.level-card{flex-wrap:wrap}.level-info{min-width:0}.level-check{position:absolute;right:16px}.level-card{position:relative}.preview-prices{flex-wrap:wrap;gap:8px}.partner-actions{justify-content:stretch}.save-btn{width:100%;justify-content:center}}.extranet-loading,.extranet-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#f8fafc}.extranet-loading .spinner{animation:spin 1s linear infinite;color:var(--primary)}.extranet-error h2{font-size:24px;color:#1e293b}.extranet-error p{color:#64748b}.extranet-error button{margin-top:16px;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer}.hotel-extranet{min-height:100vh;background:linear-gradient(135deg,#fafafa,#f0f4f8);font-family:DM Sans,-apple-system,sans-serif}.extranet-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:#fff;border-right:1px solid #e2e8f0;padding:24px 16px;transition:width .3s ease;z-index:100;display:flex;flex-direction:column}.extranet-sidebar.collapsed{width:80px}.sidebar-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px;padding-left:8px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.logo-text{display:flex;flex-direction:column}.logo-name{font-family:Fraunces,serif;font-weight:700;font-size:18px;color:#1e293b}.logo-sub{font-size:11px;color:#94a3b8;font-weight:500}.sidebar-nav{flex:1}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;cursor:pointer;transition:all .2s ease;color:#64748b;font-weight:500;font-size:14px;margin-bottom:4px}.sidebar-item:hover{background:#1a56db14;color:var(--primary)}.sidebar-item.active{background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);color:#fff;box-shadow:0 4px 15px #1a56db4d}.sidebar-item.logout{margin-top:16px}.sidebar-hotel-info{background:#f8fafc;border-radius:12px;padding:16px;margin-top:auto}.hotel-info-name{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:4px}.hotel-info-location{font-size:12px;color:#64748b;margin-bottom:8px}.hotel-info-id{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#94a3b8;background:#fff;padding:4px 8px;border-radius:6px;cursor:pointer;margin-bottom:12px}.hotel-info-id:hover{color:var(--primary)}.completion-label{font-size:11px;color:#94a3b8;margin-bottom:6px}.completion-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.completion-fill{height:100%;background:linear-gradient(90deg,var(--primary),#3b82f6);border-radius:4px;transition:width .5s ease}.extranet-main{margin-left:260px;transition:margin-left .3s ease;min-height:100vh}.extranet-main.expanded{margin-left:80px}.extranet-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}.menu-toggle{background:none;border:none;cursor:pointer;padding:8px;color:#64748b}.header-title{font-family:Fraunces,serif;font-size:24px;font-weight:700;color:#1e293b;margin:0}.header-date{font-size:14px;color:#64748b;margin-top:2px}.header-right{display:flex;align-items:center;gap:16px}.notification-btn{position:relative;background:#f8fafc;border:none;border-radius:10px;padding:10px;cursor:pointer;color:#64748b}.notification-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:#ef4444;border-radius:50%}.user-menu{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f8fafc;border-radius:10px;cursor:pointer}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.user-info{text-align:left}.user-name{font-size:14px;font-weight:600;color:#1e293b}.user-email{font-size:12px;color:#64748b}.extranet-content{padding:32px}.status-banner{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;border-radius:12px;margin-bottom:24px}.status-banner.status-pending{background:#fef3c7;color:#92400e}.status-banner.status-approved{background:#dcfce7;color:#166534}.status-banner strong{display:block;font-size:15px;margin-bottom:4px}.status-banner p{font-size:14px;margin:0;opacity:.9}.setup-checklist{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d}.setup-checklist h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:20px}.checklist-items{display:flex;flex-direction:column;gap:12px}.checklist-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border-radius:10px;font-size:14px;color:#64748b}.checklist-item.completed{background:#f0fdf4;color:#166534}.checklist-check{width:24px;height:24px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#64748b}.checklist-action{margin-left:auto;padding:6px 14px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.checklist-action:hover{background:var(--primary-hover)}.property-overview{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.overview-header h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.overview-item{display:flex;gap:12px;color:#64748b}.overview-item label{font-size:12px;color:#94a3b8;margin-bottom:4px;display:block}.overview-item p{font-size:14px;color:#1e293b;margin:0;font-weight:500}.overview-item p.sub{font-size:13px;color:#64748b;font-weight:400;margin-top:2px}.overview-item a{color:var(--primary);text-decoration:none;font-weight:500}.overview-item a:hover{text-decoration:underline}.overview-description{margin-top:20px;padding-top:20px;border-top:1px solid #f1f5f9}.overview-description label{font-size:12px;color:#94a3b8;margin-bottom:8px;display:block}.overview-description p{font-size:14px;color:#64748b;line-height:1.6;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px}.stat-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.stat-content{display:flex;justify-content:space-between;align-items:flex-start}.stat-label{font-size:13px;color:#64748b;margin-bottom:8px;font-weight:500}.stat-value{font-size:32px;font-weight:700;color:#1e293b;margin:0}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#3b82f6}.stat-icon.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#22c55e}.stat-icon.pink{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#ec4899}.stat-icon.yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b}.rooms-summary{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.summary-header h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.rooms-list{display:flex;flex-direction:column;gap:12px}.room-summary-card{display:flex;align-items:center;gap:20px;padding:16px 20px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.room-summary-card .room-info{flex:1}.room-summary-card h4{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 4px}.room-summary-card p{font-size:13px;color:#64748b;margin:0}.room-stats{display:flex;gap:24px}.room-stat{text-align:center}.room-stat .label{display:block;font-size:11px;color:#94a3b8;margin-bottom:4px}.room-stat .value{font-size:14px;font-weight:600;color:#1e293b}.room-stat .value.price{color:var(--primary)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#3b82f6 100%);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;font-size:14px}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #1a56db66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:#64748b;border:2px solid #e2e8f0;padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;font-size:14px}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary.small{padding:8px 14px;font-size:13px}.icon-btn{background:#f8fafc;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#64748b;transition:all .2s}.icon-btn:hover{background:#e2e8f0;color:var(--primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-subtitle{color:#64748b;font-size:14px;margin:0}.room-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.room-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0}.room-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.room-card-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 4px}.room-card-header p{font-size:13px;color:#64748b;margin:0}.room-card-actions{display:flex;gap:8px}.room-card-details{padding:16px;background:#f8fafc;border-radius:10px;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;font-size:14px}.detail-row .label{color:#64748b}.detail-row .value{color:#1e293b;font-weight:500}.room-card-pricing{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.pricing-item{background:#f8fafc;padding:16px;border-radius:10px}.pricing-label{font-size:12px;color:#64748b;margin:0 0 8px}.pricing-input-wrap{display:flex;align-items:center;gap:4px}.currency{font-size:16px;font-weight:600;color:#1e293b}.pricing-input{width:80px;padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;text-align:center}.pricing-input:focus{outline:none;border-color:var(--primary)}.per-night{font-size:13px;color:#94a3b8}.availability-value{font-size:24px;font-weight:700;margin:0}.availability-value .high{color:#22c55e}.availability-value .low{color:#f59e0b}.room-card-actions-bottom{display:flex;gap:8px}.room-card-actions-bottom button{flex:1;justify-content:center;font-size:13px}.photos-section{display:flex;flex-direction:column;gap:24px}.photo-category{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d}.photo-category h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.photo-category>p{font-size:14px;color:#64748b;margin:0 0 16px}.photo-upload-zone{border:2px dashed #e2e8f0;border-radius:12px;padding:40px;text-align:center;color:#94a3b8;cursor:pointer;transition:all .2s}.photo-upload-zone:hover{border-color:var(--primary);background:#f8fbff}.photo-upload-zone p{margin:12px 0 16px;font-size:14px}.upload-progress{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#e3f2fd;border-radius:8px;margin-bottom:20px;color:#1565c0;font-weight:500}.upload-progress .spinner{animation:spin 1s linear infinite}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}.photo-item{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-item .cover-badge{position:absolute;top:8px;left:8px;background:var(--primary);color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.delete-photo-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-item:hover .delete-photo-btn{opacity:1}.delete-photo-btn:hover{background:#e53935}.placeholder-content{background:#fff;border-radius:16px;padding:80px 40px;text-align:center;box-shadow:0 1px 3px #0000000d}.placeholder-icon{width:80px;height:80px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--primary)}.placeholder-content h3{font-size:20px;font-weight:600;color:#1e293b;margin-bottom:8px}.placeholder-content p{color:#64748b;font-size:14px}.checklist-check{width:24px;height:24px;min-width:24px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#64748b}.checklist-item.completed .checklist-check{background:#22c55e;color:#fff}.checklist-check span{line-height:1;display:flex;align-items:center;justify-content:center}.photo-upload-zone.drag-active{border-color:#3b82f6;background:#eff6ff;transform:scale(1.02)}.photo-upload-zone.drag-active p{color:#3b82f6}.photo-item{cursor:grab;transition:all .2s}.photo-item:active{cursor:grabbing}.photo-item.dragging{opacity:.5;transform:scale(.95);border:2px dashed #3b82f6}.drag-hint{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:11px;text-align:center;padding:4px;opacity:0;transition:opacity .2s}.photo-item:hover .drag-hint{opacity:1}.photo-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.photo-item:hover img{filter:brightness(.95)}@media(max-width:768px){.extranet-sidebar{position:fixed;transform:translate(-100%);width:260px;z-index:200}.extranet-sidebar.open{transform:translate(0);box-shadow:0 0 40px #0000004d}.extranet-main{margin-left:0!important}.extranet-header{padding:16px}.user-info{display:none}.extranet-content{padding:16px}.stats-grid,.overview-grid{grid-template-columns:1fr}.room-summary-card{flex-direction:column;align-items:flex-start}.room-stats{width:100%;justify-content:space-between;margin:12px 0}.room-card-pricing,.room-cards-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:150}}.profile-score-section{background:#fff;border-radius:12px;padding:24px;margin-top:24px;box-shadow:0 1px 3px #0000000d}.profile-score-section h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 20px}.score-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.score-item{background:#f8fafc;border-radius:10px;padding:14px 16px;border:1px solid #e2e8f0}.score-item.complete{background:#f0fdf4;border-color:#bbf7d0}.score-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.score-label{font-size:13px;font-weight:500;color:#475569}.score-value{font-size:13px;font-weight:600;color:#1e293b}.score-item.complete .score-value{color:#16a34a}.score-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .3s ease}.score-item.complete .score-bar-fill{background:#22c55e}.missing-items{margin-top:24px;padding:16px;background:#fef3c7;border-radius:10px;border:1px solid #fde047}.missing-items h4{font-size:14px;font-weight:600;color:#854d0e;margin:0 0 12px}.missing-items ul{margin:0;padding-left:20px}.missing-items li{font-size:13px;color:#713f12;margin-bottom:6px}.missing-items li:last-child{margin-bottom:0}.room-meta,.room-specs{font-size:12px;color:#64748b;margin-top:4px}.amenity-badge{display:inline-block;padding:2px 8px;background:#d1fae5;color:#047857;font-size:12px;font-weight:500;border-radius:4px}.amenity-badge.empty{background:#fee2e2;color:#dc2626}.extranet-login{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;flex-direction:column}.login-header{background:var(--primary);padding:16px 32px}.login-logo{display:flex;align-items:center;gap:12px;color:#fff;font-family:Fraunces,serif;font-size:22px;font-weight:700}.login-logo .logo-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center}.login-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 4px 20px #00000014}.login-card h1{font-family:Fraunces,serif;font-size:24px;font-weight:700;color:#1e293b;margin:0 0 8px}.login-subtitle{color:#64748b;font-size:14px;margin:0 0 28px}.login-subtitle strong{color:#1e293b}.login-card .form-group{margin-bottom:20px}.login-card label{display:block;font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px}.login-card input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;transition:all .2s}.login-card input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a56db1a}.login-card input::placeholder{color:#94a3b8}.input-hint{display:block;font-size:12px;color:#94a3b8;margin-top:6px}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:50px}.toggle-password:hover{color:var(--primary)}.login-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;border:1px solid #fecaca}.login-btn{width:100%;padding:14px 24px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.login-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 15px #1a56db4d}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;margin:28px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.login-divider span{padding:0 16px;color:#94a3b8;font-size:14px}.login-help{text-align:center}.login-help p{color:#64748b;font-size:14px;margin:0 0 12px}.link-btn{background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:0}.link-btn:hover{text-decoration:underline}.login-footer-links{display:flex;justify-content:space-between;margin-top:24px;padding-top:24px;border-top:1px solid #f1f5f9}.login-terms{color:#94a3b8;font-size:12px;text-align:center;margin-top:24px;max-width:420px}.setup-hotel-info{background:#f8fafc;border-radius:10px;padding:16px;margin-bottom:24px;display:grid;grid-template-columns:auto 1fr;gap:8px 16px}.setup-label{font-size:12px;color:#94a3b8}.setup-value{font-size:14px;font-weight:600;color:#1e293b}.password-strength{display:block;font-size:12px;margin-top:6px}.password-strength.valid{color:#22c55e}.password-strength.invalid{color:#ef4444}.success-card{text-align:center}.success-icon{width:64px;height:64px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 20px}@media(max-width:480px){.login-card{padding:28px 20px}.login-card h1{font-size:20px}.login-footer-links{flex-direction:column;gap:12px;align-items:center}}.superadmin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);padding:20px}.login-card{background:#fff;border-radius:20px;padding:48px 40px;width:100%;max-width:400px;text-align:center;box-shadow:0 25px 50px #0000004d}.login-icon{width:80px;height:80px;background:linear-gradient(135deg,#1e293b,#334155);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff}.login-card h1{font-family:Fraunces,serif;font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.login-card>p{color:#64748b;font-size:14px;margin:0 0 32px}.login-card form{text-align:left}.input-group{margin-bottom:20px}.input-group label{display:block;font-size:14px;font-weight:600;color:#334155;margin-bottom:8px}.password-input{position:relative}.password-input input{width:100%;padding:14px 48px 14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;transition:all .2s;box-sizing:border-box}.password-input input:focus{outline:none;border-color:#1e293b}.toggle-password{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;cursor:pointer;padding:4px}.toggle-password:hover{color:#1e293b}.error-message{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px}.login-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1e293b4d}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-btn .spinner{animation:spin 1s linear infinite}.superadmin-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#f8fafc}.superadmin-loading .spinner{animation:spin 1s linear infinite;color:#1e293b}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.superadmin-dashboard{min-height:100vh;background:#f1f5f9;font-family:DM Sans,-apple-system,sans-serif}.admin-header{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:20px 32px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:16px}.admin-logo{width:48px;height:48px;background:#ffffff1a;border-radius:12px;display:flex;align-items:center;justify-content:center}.header-left h1{font-family:Fraunces,serif;font-size:24px;font-weight:700;margin:0}.header-left p{font-size:14px;opacity:.7;margin:0}.header-right{display:flex;align-items:center;gap:12px}.refresh-btn{background:#ffffff1a;border:none;border-radius:8px;padding:10px;color:#fff;cursor:pointer;transition:all .2s}.refresh-btn:hover{background:#fff3}.logout-btn{background:#ffffff1a;border:none;border-radius:8px;padding:10px 16px;color:#fff;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;transition:all .2s}.logout-btn:hover{background:#ef4444}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:24px 32px}.stat-card{background:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000000d}.stat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center}.stat-icon.total{background:#e0e7ff;color:#4f46e5}.stat-icon.pending{background:#fef3c7;color:#f59e0b}.stat-icon.approved{background:#d1fae5;color:#10b981}.stat-icon.live{background:#dbeafe;color:#3b82f6}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:32px;font-weight:700;color:#1e293b;line-height:1}.stat-label{font-size:14px;color:#64748b;margin-top:4px}.filters-bar{display:flex;gap:16px;padding:0 32px 24px}.search-input{flex:1;max-width:400px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:0 16px;box-shadow:0 1px 3px #0000000d}.search-input svg{color:#94a3b8}.search-input input{flex:1;border:none;padding:14px 0;font-size:14px;outline:none}.status-filter{display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:0 16px;box-shadow:0 1px 3px #0000000d}.status-filter svg{color:#94a3b8}.status-filter select{border:none;padding:14px 0;font-size:14px;outline:none;cursor:pointer;background:transparent}.properties-table-container{padding:0 32px 32px}.properties-table{width:100%;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d;border-collapse:collapse;overflow:hidden}.properties-table th{background:#f8fafc;padding:16px 20px;text-align:left;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.properties-table td{padding:16px 20px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#334155}.properties-table tr:last-child td{border-bottom:none}.properties-table tr:hover td{background:#f8fafc}.property-name strong{display:block;font-weight:600;color:#1e293b;margin-bottom:2px}.property-type{font-size:12px;color:#64748b;text-transform:capitalize}.location-cell{display:flex;align-items:center;gap:6px;color:#64748b}.contact-cell{display:flex;flex-direction:column;gap:2px}.contact-cell a{color:#3b82f6;text-decoration:none;font-size:13px}.contact-cell a:hover{text-decoration:underline}.date-cell{font-size:13px;color:#64748b}.no-results{text-align:center;color:#64748b;padding:48px!important}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.status-pending{background:#fef3c7;color:#b45309}.status-badge.status-approved{background:#d1fae5;color:#047857}.status-badge.status-live{background:#dbeafe;color:#1d4ed8}.status-badge.status-rejected{background:#fee2e2;color:#dc2626}.action-buttons{display:flex;gap:8px}.action-btn{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn.view{background:#f1f5f9;color:#64748b}.action-btn.view:hover{background:#e2e8f0;color:#1e293b}.action-btn.extranet{background:#dbeafe;color:#3b82f6}.action-btn.extranet:hover{background:#3b82f6;color:#fff}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative}.modal-content.modal-large{max-width:800px}.modal-close{position:absolute;top:16px;right:16px;background:#f1f5f9;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#64748b;z-index:10}.modal-close:hover{background:#e2e8f0;color:#1e293b}.modal-header{padding:24px 24px 0;display:flex;justify-content:space-between;align-items:flex-start}.modal-header h2{font-family:Fraunces,serif;font-size:24px;font-weight:700;color:#1e293b;margin:0}.modal-subtitle{color:#64748b;font-size:14px;margin:4px 0 0}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:#64748b}.modal-loading .spinner{animation:spin 1s linear infinite;margin-bottom:16px}.modal-body{padding:24px}.review-checklist{background:#f8fafc;border-radius:16px;padding:20px;margin-bottom:24px;border:2px solid #e2e8f0}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.checklist-header h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.ready-badge{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.ready-badge.ready-yes{background:#d1fae5;color:#047857}.ready-badge.ready-no{background:#fee2e2;color:#dc2626}.checklist-score{display:flex;align-items:center;gap:12px;margin-bottom:20px}.score-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;transition:width .3s ease}.score-text{font-size:14px;font-weight:600;color:#1e293b;min-width:100px}.checklist-items{display:flex;flex-direction:column;gap:10px}.checklist-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.checklist-item.check-pass{border-color:#d1fae5}.checklist-item.check-pass svg{color:#10b981}.checklist-item.check-fail{border-color:#fecaca}.checklist-item.check-fail svg{color:#ef4444}.checklist-item span:first-of-type{flex:1;font-weight:500;color:#334155}.check-detail{font-size:13px;color:#64748b}.rooms-review-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.room-review-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.room-review-name{font-weight:600;color:#1e293b}.room-review-stats{display:flex;gap:16px;font-size:13px}.room-review-stats .stat-ok{color:#10b981}.room-review-stats .stat-missing{color:#ef4444}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:14px;font-weight:600;color:#64748b;margin:0 0 16px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{background:#f8fafc;padding:14px 16px;border-radius:10px}.detail-item.full{grid-column:span 2}.detail-item label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.detail-item p{font-size:14px;color:#1e293b;margin:0;font-weight:500}.detail-item a{color:#3b82f6;text-decoration:none}.detail-item a:hover{text-decoration:underline}.map-preview{background:#f8fafc;padding:16px;border-radius:10px}.map-preview a{color:#3b82f6;text-decoration:none;font-weight:500}.map-preview .coords{font-size:12px;color:#64748b;margin:8px 0 0}.modal-footer{padding:20px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-actions span{font-size:14px;color:#64748b;font-weight:500}.status-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.status-btn:disabled{opacity:.5;cursor:not-allowed}.status-btn.pending{background:#fef3c7;color:#b45309}.status-btn.pending:hover:not(:disabled){background:#fcd34d}.status-btn.approved{background:#d1fae5;color:#047857}.status-btn.approved:hover:not(:disabled){background:#6ee7b7}.status-btn.live{background:#dbeafe;color:#1d4ed8}.status-btn.live:hover:not(:disabled){background:#93c5fd}.status-btn.rejected{background:#fee2e2;color:#dc2626}.status-btn.rejected:hover:not(:disabled){background:#fca5a5}.delete-btn{padding:8px 16px;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#dc2626;color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-header{padding:16px 20px}.stats-grid{grid-template-columns:1fr;padding:16px 20px}.filters-bar{flex-direction:column;padding:0 20px 20px}.search-input{max-width:none}.properties-table-container{padding:0 20px 20px;overflow-x:auto}.properties-table{min-width:800px}.modal-content{border-radius:16px}.detail-grid{grid-template-columns:1fr}.detail-item.full{grid-column:span 1}.modal-footer{flex-direction:column;align-items:stretch}.status-actions{justify-content:center}.danger-actions{text-align:center}.checklist-header{flex-direction:column;gap:12px;align-items:flex-start}.room-review-item{flex-direction:column;align-items:flex-start;gap:8px}}.image-gallery-modal{position:fixed;inset:0;z-index:9999;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:center}.gallery-close-btn{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;outline:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .2s;z-index:10}.gallery-close-btn:hover{background:#fff3}.gallery-close-btn:focus{outline:none}.gallery-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 16px;box-sizing:border-box}.gallery-image-container img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-nav-btn{display:none;position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;outline:none;border-radius:50%;width:48px;height:48px;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .2s}.gallery-nav-btn:hover{background:#ffffff40}.gallery-nav-btn:focus{outline:none}.gallery-nav-btn:active{outline:none}.gallery-nav-btn.prev{left:16px}.gallery-nav-btn.next{right:16px}.gallery-counter{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.gallery-dots{position:absolute;bottom:70px;left:50%;transform:translate(-50%);display:flex;gap:8px}.gallery-dot{width:8px;height:8px;border-radius:50%;background:#fff6;transition:background .2s,transform .2s}.gallery-dot.active{background:#fff;transform:scale(1.2)}@media(min-width:768px){.gallery-image-container{padding:80px}.gallery-nav-btn{display:flex}.gallery-nav-btn.prev{left:24px}.gallery-nav-btn.next{right:24px}.gallery-dots{display:none}.gallery-counter{bottom:32px}}.checkout-page{min-height:100vh;background:#f8fafc}.checkout-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 20px;position:sticky;top:0;z-index:100;max-width:1100px;margin:20px auto 0}.checkout-header .back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:#3b82f6;font-size:.9rem;cursor:pointer;padding:0;margin-bottom:8px}.checkout-header h1{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.checkout-content{max-width:1200px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:20px}@media(min-width:768px){.checkout-content{flex-direction:row-reverse;align-items:flex-start;padding:32px 20px;gap:32px}}.checkout-summary{width:100%}@media(min-width:768px){.checkout-summary{width:380px;flex-shrink:0;position:sticky;top:100px}}.summary-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.summary-card h2{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.summary-photos{margin-bottom:16px;cursor:pointer}.photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-radius:10px;overflow:hidden}.photo-thumb{aspect-ratio:1;position:relative;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.summary-photos:hover .photo-thumb img{transform:scale(1.05)}.photo-more{position:absolute;inset:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600}.gallery-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#fff;cursor:pointer;padding:8px;z-index:10}.gallery-content{position:relative;max-width:90vw;max-height:90vh}.gallery-content img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;padding:12px;cursor:pointer;border-radius:50%;transition:background .2s ease}.gallery-nav.prev{left:-60px}.gallery-nav.next{right:-60px}.gallery-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#fff;font-size:.9rem}@media(max-width:767px){.gallery-nav.prev{left:8px}.gallery-nav.next{right:8px}}.summary-hotel h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 4px}.summary-hotel .hotel-location{font-size:.85rem;color:#64748b;margin:0}.summary-room{margin-top:16px;padding:12px 0;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.summary-room h4{font-size:.95rem;font-weight:500;color:#334155;margin:0}.rate-plan-badge{font-size:.75rem;font-weight:500;color:#3b82f6;background:#eff6ff;padding:4px 10px;border-radius:20px}.summary-details{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;align-items:flex-start;gap:12px}.detail-row svg{color:#64748b;margin-top:2px;flex-shrink:0}.detail-row div{display:flex;flex-direction:column;gap:2px}.detail-row .label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.detail-row .value{font-size:.9rem;color:#1e293b}.summary-policy{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.policy{display:flex;align-items:center;gap:8px;font-size:.85rem;padding:10px 12px;border-radius:8px}.policy.refundable{background:#f0fdf4;color:#16a34a}.policy.non-refundable{background:#f1f5f9;color:#475569}.policy.deadline-passed{background:#fefce8;color:#a16207}.summary-price{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.price-row{display:flex;justify-content:space-between;font-size:.9rem;color:#64748b;margin-bottom:12px}.price-total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:700;color:#1e293b;padding-top:12px;border-top:1px solid #e2e8f0}.price-note{font-size:.75rem;color:#94a3b8;margin:8px 0 0}.checkout-form{flex:1}.checkout-form form{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-section{margin-bottom:32px}.form-section:last-of-type{margin-bottom:24px}.form-section h2{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 4px}.form-subtitle{font-size:.85rem;color:#64748b;margin:0 0 20px}.form-row{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:480px){.form-row{grid-template-columns:1fr 1fr}}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:#334155;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:12px 14px;font-size:.95rem;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group textarea{resize:vertical;min-height:80px}.form-hint{display:block;font-size:.75rem;color:#94a3b8;margin-top:4px}.error-message{display:block;font-size:.75rem;color:#dc2626;margin-top:4px}.payment-section{background:#f8fafc;margin:0 -24px;padding:24px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.card-icons{display:flex;gap:12px;margin-bottom:16px}.card-icons svg{height:28px;width:auto}.payment-note{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#eff6ff;border-radius:8px;font-size:.8rem;color:#3b82f6;margin-top:16px}.payment-note svg{flex-shrink:0;margin-top:2px}.payment-info{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.payment-info svg{color:#64748b;flex-shrink:0}.payment-info p{margin:0;font-size:.9rem;color:#475569}.submit-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:16px}.submit-btn{width:100%;padding:16px 24px;font-size:1rem;font-weight:600;color:#fff;background:#3b82f6;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:#2563eb}.submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.terms-note{font-size:.75rem;color:#94a3b8;text-align:center;margin:16px 0 0}@media(max-width:767px){.checkout-header{padding:12px 16px;width:90vw}.checkout-content{padding:16px}.summary-card,.checkout-form form{padding:20px;border-radius:12px}.payment-section{margin:0 -20px;padding:20px}}.booking-confirmation{min-height:100vh;background:#f8fafc;padding:20px}@media(min-width:768px){.booking-confirmation{padding:40px 20px}}.confirmation-loading,.confirmation-error{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.confirmation-loading .loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.confirmation-error h2{color:#1e293b;margin:0 0 8px}.confirmation-error p{color:#64748b;margin:0 0 24px}.confirmation-error .home-btn{padding:12px 24px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:8px;font-weight:500}.confirmation-header{text-align:center;padding:20px 0 32px}.success-icon{width:80px;height:80px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.success-icon svg{color:#16a34a}.confirmation-header h1{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 8px}@media(min-width:768px){.confirmation-header h1{font-size:2rem}}.confirmation-header p{font-size:1rem;color:#64748b;margin:0}.booking-ref-card{max-width:400px;margin:0 auto 32px;padding:24px;background:#fff;border-radius:16px;text-align:center;box-shadow:0 1px 3px #0000001a}.ref-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.ref-value{display:flex;align-items:center;justify-content:center;gap:12px}.ref-value span{font-size:1.75rem;font-weight:700;color:#1e293b;letter-spacing:2px}.copy-btn{padding:8px;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s ease}.copy-btn:hover{background:#e2e8f0;color:#3b82f6}.ref-hint{font-size:.8rem;color:#94a3b8;margin:12px 0 0}.confirmation-details{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px}@media(min-width:768px){.confirmation-details{flex-direction:row}}.details-card{flex:1;background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a}.details-card h2{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.property-info{margin-bottom:20px}.property-info h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 4px}.property-location{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#64748b;margin:0}.detail-section{padding:16px 0;border-top:1px solid #f1f5f9}.detail-section h4{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.detail-section p{font-size:.95rem;color:#334155;margin:0}.rate-badge{display:inline-block;font-size:.75rem;font-weight:500;color:#3b82f6;background:#eff6ff;padding:4px 10px;border-radius:20px;margin-top:8px}.dates-section{display:grid;grid-template-columns:1fr 1fr;gap:16px}.date-item{display:flex;align-items:flex-start;gap:10px}.date-item svg{color:#64748b;margin-top:2px;flex-shrink:0}.date-item div{display:flex;flex-direction:column;gap:2px}.date-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.85rem;color:#1e293b;font-weight:500}.policy-text{display:flex;align-items:center;gap:6px;font-size:.9rem}.policy-text.refundable{color:#16a34a}.policy-text.non-refundable{color:#dc2626}.price-section{background:#f8fafc;margin:16px -24px -24px;padding:20px 24px;border-radius:0 0 16px 16px}.total-price{font-size:1.5rem;font-weight:700;color:#1e293b}.price-note{font-size:.8rem;color:#64748b;margin:4px 0 0}.guest-card{display:flex;flex-direction:column}.guest-info{margin-bottom:16px}.guest-name{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 12px}.contact-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#475569;margin-bottom:8px}.contact-row svg{color:#94a3b8;flex-shrink:0}.special-requests{padding:16px 0;border-top:1px solid #f1f5f9}.special-requests h4{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.special-requests p{font-size:.9rem;color:#475569;margin:0;font-style:italic}.email-note{margin-top:auto;padding-top:16px;border-top:1px solid #f1f5f9;font-size:.8rem;color:#64748b;text-align:center}.confirmation-actions{max-width:400px;margin:32px auto 0;display:flex;flex-direction:column;gap:12px}.confirmation-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:.95rem;font-weight:600;text-decoration:none;border-radius:10px;transition:all .2s ease}.confirmation-btn.primary{background:#3b82f6;color:#fff}.confirmation-btn.primary:hover{background:#2563eb}.confirmation-btn.secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.confirmation-btn.secondary:hover{background:#f8fafc}.confirmation-header.cancelled .success-icon{background:#fef2f2}.confirmation-header.cancelled .success-icon svg{color:#dc2626}.booking-ref-card.cancelled{border-color:#fecaca;background:#fef2f2}.confirmation-btn.danger{background:#fff;color:#dc2626;border:1px solid #fca5a5}.confirmation-btn.danger:hover{background:#fef2f2;border-color:#f87171}.cancel-status-info{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:10px;font-size:14px;width:100%;max-width:400px}.cancel-status-info.non-refundable{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.cancel-status-info.deadline-passed{background:#ffedd5;color:#c2410c;border:1px solid #fed7aa}.cancel-status-info.cancelled{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.cancel-status-info svg{flex-shrink:0}.cancel-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.cancel-modal{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:100%;text-align:center;position:relative;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:#9ca3af;padding:4px;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-icon{width:80px;height:80px;margin:0 auto 20px;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-icon svg{color:#f59e0b}.cancel-modal h2{font-size:22px;font-weight:600;color:#111827;margin:0 0 8px}.cancel-modal>p{font-size:15px;color:#6b7280;margin:0 0 20px}.modal-booking-info{background:#f9fafb;border-radius:10px;padding:16px;margin-bottom:16px}.modal-booking-info p{margin:0;font-size:14px;color:#374151;line-height:1.6}.modal-booking-info p strong{color:#111827}.modal-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#059669;margin-bottom:24px}.modal-note svg{flex-shrink:0}.modal-actions{display:flex;gap:12px}.modal-btn{flex:1;padding:14px 20px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.modal-btn.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.modal-btn.secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.modal-btn.danger{background:#dc2626;border:none;color:#fff}.modal-btn.danger:hover:not(:disabled){background:#b91c1c}.modal-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.cancel-modal{padding:24px;margin:16px}.guest-info{flex-flow:column}.modal-icon{width:64px;height:64px}.modal-icon svg{width:32px;height:32px}.cancel-modal h2{font-size:18px}.modal-actions{flex-direction:column}.cancel-status-info{font-size:13px;padding:12px 16px}}.map-view-page{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg-white)}.map-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-white);border-bottom:1px solid #eee;z-index:1000}.map-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-light);border:none;outline:none;border-radius:50%;cursor:pointer;color:var(--text-primary);transition:background .2s}.map-back-btn:active{background:#e0e0e0}.map-header-info{display:flex;flex-direction:column}.map-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.map-subtitle{font-size:.85rem;color:var(--text-secondary)}.map-container{flex:1;position:relative;height:calc(100vh - 64px)}.google-map-view{width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .3s ease}.google-map-view.loaded{opacity:1}.map-loading-spinner{width:32px;height:32px;border:3px solid var(--bg-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.marker-dot{width:14px;height:14px;background:var(--primary, #1a56db);border:2.5px solid white;border-radius:50%;box-shadow:0 2px 6px #00000059;cursor:pointer;transition:transform .2s,background .2s}.marker-dot:hover,.marker-dot.active{transform:scale(1.4);background:#222}.marker-dot.favorited{background:#e91e63}.marker-tag{display:inline-block;padding:8px 12px;background:#fff;border-radius:28px;font-size:13px;font-weight:600;color:#222;box-shadow:0 2px 8px #00000029;white-space:nowrap;cursor:pointer;transition:all .15s ease;border:1px solid rgba(0,0,0,.04);position:relative}.marker-tag:after{content:"";position:absolute;bottom:-7px;left:50%;margin-left:-7px;width:14px;height:14px;background:#fff;border-radius:0 0 3px;transform:rotate(45deg);box-shadow:2px 2px 4px #00000014;border-right:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)}.marker-tag:hover{transform:scale(1.06);box-shadow:0 4px 14px #0003;z-index:1000!important}.marker-tag.active{background:#222;color:#fff;border-color:#222}.marker-tag.active:after{background:#222;border-color:#222}.marker-tag.favorited{background:#fce7f3;color:#be185d;border-color:#f9a8d4}.marker-tag.favorited:after{background:#fce7f3;border-color:#f9a8d4}.marker-label{background:#fff!important;padding:6px 10px!important;border-radius:20px!important;font-size:12px!important;font-weight:600!important;color:#222!important;box-shadow:0 2px 6px #0003!important;white-space:nowrap!important;border:1px solid rgba(0,0,0,.08)!important}.marker-label.active{background:#222!important;color:#fff!important}.marker-label.favorited{background:#fce7f3!important;color:#be185d!important}.info-window-content{padding:8px 4px;cursor:pointer;min-width:180px}.info-window-content h4{margin:0 0 4px;font-size:.95rem;font-weight:600;color:#222}.info-window-content .info-location{margin:0 0 6px;font-size:.85rem;color:#666}.info-window-content .info-guests{margin:0 0 4px;font-size:.85rem;color:#666}.info-window-content .info-price{margin:0 0 8px;font-size:.9rem;color:#222}.info-window-content .info-price strong{color:var(--primary, #1a56db)}.info-window-content .info-cta{font-size:.85rem;color:var(--primary, #1a56db);font-weight:500}.selected-property-card{display:none}@media(max-width:768px){.selected-property-card{display:flex;align-items:center;justify-content:space-between;position:absolute;bottom:20px;left:16px;right:16px;padding:16px;background:var(--bg-white);border-radius:16px;box-shadow:0 4px 20px #00000026;z-index:1000;cursor:pointer;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.selected-property-info{flex:1;min-width:0}.selected-property-info h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-property-info p{margin:0;font-size:.85rem;color:var(--text-secondary)}.selected-property-price{margin-top:4px!important;color:var(--text-primary)!important}.selected-property-price strong{color:var(--primary)}.view-property-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;outline:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;flex-shrink:0;margin-left:12px}.view-property-btn:active{opacity:.9}.gm-style-iw{display:none!important}}@media(min-width:769px){.selected-property-card{display:none}}.reservations-page{min-height:100vh;background:#f8fafc;padding-bottom:40px}.reservations-header{background:#fff;padding:24px 20px 16px;border-bottom:1px solid #e2e8f0}.reservations-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0}.reservations-tabs{display:flex;gap:8px;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:100px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap;outline:none}.tab-btn:hover{background:#e2e8f0;color:#1e293b}.tab-btn.active{background:#1e293b;border-color:#1e293b;color:#fff;outline:none}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#fff3;border-radius:10px;font-size:12px;font-weight:600}.tab-btn:not(.active) .tab-count{background:#3b82f6;color:#fff}.reservations-content{padding:20px;max-width:900px;margin:0 auto}.reservations-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#64748b}.reservations-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;color:#64748b}.reservations-empty svg{color:#cbd5e1;margin-bottom:16px}.reservations-empty h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 8px}.reservations-empty p{font-size:14px;margin:0 0 24px;max-width:300px}.browse-btn{padding:12px 28px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.browse-btn:hover{background:#2563eb}.reservations-list{display:flex;flex-direction:column;gap:20px}.reservation-card{display:flex;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000a;transition:box-shadow .2s,transform .2s}.reservation-card:hover{box-shadow:0 4px 12px #0000001a,0 8px 24px #00000014}.reservation-card.cancelled{opacity:.7}.reservation-image{position:relative;width:200px;min-width:200px;background:#f1f5f9}.reservation-image img{width:100%;height:100%;object-fit:cover}.active-badge{position:absolute;top:12px;left:12px;padding:6px 12px;background:#10b981;color:#fff;border-radius:100px;font-size:12px;font-weight:600}.reservation-details{flex:1;padding:20px;display:flex;flex-direction:column;gap:10px}.reservation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.reservation-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0}.booking-ref{font-size:12px;font-weight:600;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:6px;white-space:nowrap}.reservation-location{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b;margin:0}.reservation-location svg{flex-shrink:0}.reservation-room{font-size:14px;color:#475569;font-weight:500;margin:0}.reservation-dates{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;margin:4px 0}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:14px;font-weight:600;color:#1e293b}.date-arrow{color:#cbd5e1}.reservation-info{display:flex;align-items:center;gap:16px}.info-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b}.info-item svg{color:#94a3b8}.reservation-price{display:flex;align-items:center;gap:8px}.price-label{font-size:13px;color:#64748b}.price-value{font-size:18px;font-weight:700;color:#1e293b}.cancelled-info{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fef2f2;border-radius:8px;font-size:13px;color:#dc2626;font-weight:500}.reservation-actions{display:flex;gap:10px;margin-top:auto;padding-top:12px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.action-btn.primary{background:#3b82f6;color:#fff;border:none}.action-btn.primary:hover{background:#2563eb}.action-btn.secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.action-btn.secondary:hover{background:#f8fafc;border-color:#cbd5e1}.action-btn.review{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.action-btn.review:hover{background:#fde68a}.action-btn.disabled{background:#f1f5f9;color:#94a3b8;border:none;cursor:not-allowed}@media(max-width:768px){.reservations-header{padding:20px 16px 12px}.reservations-header h1{font-size:24px}.reservations-tabs{padding:12px 16px;gap:6px}.tab-btn{padding:8px 16px;font-size:13px}.reservations-content{padding:16px}.reservation-card{flex-direction:column}.reservation-image{width:100%;min-width:100%;height:180px}.reservation-details{padding:16px}.reservation-header{flex-direction:column;gap:8px}.reservation-dates{flex-wrap:wrap}.reservation-actions{flex-direction:column}.action-btn{width:100%}}@media(max-width:480px){.reservation-image{height:150px}.reservation-header h3,.price-value{font-size:16px}}.favorites-page{min-height:100vh;background:var(--bg-light);padding-bottom:40px}.favorites-header{background:#fff;padding:24px;border-bottom:1px solid #eee}.favorites-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.favorites-count{margin:4px 0 0;font-size:.9rem;color:var(--text-secondary)}.favorites-content{padding:24px;max-width:800px;margin:0 auto}.favorites-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid #eee;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.favorites-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center}.favorites-empty svg{color:#ccc}.favorites-empty h2{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.favorites-empty p{margin:0;color:var(--text-secondary);max-width:300px}.browse-btn{margin-top:8px;padding:12px 24px;background:var(--primary);color:#fff;border:none;outline:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.browse-btn:hover{background:#1449b8}.favorites-lists{display:flex;flex-direction:column;gap:12px}.favorite-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.list-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;position:relative;transition:background .15s}.list-header:hover{background:var(--bg-light)}.list-info{display:flex;align-items:center;gap:14px}.list-icon{font-size:1.5rem}.list-details h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.list-count{font-size:.8rem;color:var(--text-secondary)}.list-actions{display:flex;align-items:center;gap:8px}.menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;outline:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .15s}.menu-btn:hover{background:#eee;color:var(--text-primary)}.expand-icon{color:var(--text-secondary);transition:transform .2s}.expand-icon.expanded{transform:rotate(90deg)}.list-menu{position:absolute;top:100%;right:20px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:100;overflow:hidden;min-width:150px}.list-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;outline:none;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:background .15s;text-align:left}.list-menu button:hover{background:var(--bg-light)}.list-menu button.delete-btn{color:#dc2626}.list-menu button.delete-btn:hover{background:#fef2f2}.menu-backdrop{position:fixed;inset:0;z-index:50}.list-items{border-top:1px solid #eee}.empty-list{padding:24px;text-align:center;color:var(--text-secondary);font-size:.9rem}.property-item{display:flex;align-items:center;gap:14px;padding:14px 20px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f5f5f5}.property-item:last-child{border-bottom:none}.property-item:hover{background:var(--bg-light)}.property-image{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f5f5f5}.property-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ccc}.property-info{flex:1;min-width:0}.property-info h4{margin:0 0 4px;font-size:.95rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-info p{margin:0;font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.property-arrow{color:#ccc;flex-shrink:0}.property-remove-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;outline:none;border-radius:50%;cursor:pointer;flex-shrink:0;transition:all .15s}.property-remove-btn:hover{background:#fef2f2;transform:scale(1.1)}.create-list-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;margin-top:16px;background:#fff;border:2px dashed #ddd;border-radius:12px;font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;outline:none}.create-list-btn:hover{border-color:var(--primary);color:var(--primary);background:#f8faff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:400px;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;outline:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:background .15s}.close-btn:hover{background:#f5f5f5}.modal-content form{padding:20px}.modal-content input{width:100%;padding:14px 16px;border:1px solid #ddd;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.modal-content input:focus{border-color:var(--primary)}.modal-actions{display:flex;gap:12px;margin-top:20px}.cancel-btn{flex:1;padding:12px;background:#f5f5f5;border:none;outline:none;border-radius:8px;font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s}.cancel-btn:hover{background:#eee}.save-btn{flex:1;padding:12px;background:var(--primary);border:none;outline:none;border-radius:8px;font-size:.95rem;font-weight:500;color:#fff;cursor:pointer;transition:background .15s}.save-btn:hover:not(:disabled){background:#1449b8}.save-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.favorites-header{padding:20px 16px}.favorites-content{padding:16px}.list-header{padding:14px 16px}.property-item{padding:12px 16px}.property-image{width:50px;height:50px}.modal-content{max-width:100%;margin:20px}}.list-picker-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1100}.list-picker-modal{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:70vh;overflow:hidden;animation:slideUp .25s ease}.picker-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #eee}.picker-modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.picker-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;outline:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:background .15s}.picker-close:hover{background:#f5f5f5}.picker-modal-lists{padding:8px 0;max-height:300px;overflow-y:auto}.picker-modal-list{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;outline:none;cursor:pointer;transition:background .15s;text-align:left}.picker-modal-list:hover{background:var(--bg-light)}.picker-modal-list.selected{background:#f0f5ff}.picker-modal-icon{font-size:1.3rem}.picker-modal-name{flex:1;font-size:.95rem;font-weight:500;color:var(--text-primary)}.picker-modal-count{font-size:.85rem;color:var(--text-secondary)}.picker-modal-check{color:var(--primary)}.picker-create-btn{display:flex;align-items:center;gap:10px;width:100%;padding:16px 20px;background:none;border:none;border-top:1px solid #eee;outline:none;font-size:.95rem;font-weight:500;color:var(--primary);cursor:pointer;transition:background .15s}.picker-create-btn:hover{background:#f8faff}.picker-create-form{padding:16px 20px;border-top:1px solid #eee}.picker-create-form input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.picker-create-form input:focus{border-color:var(--primary)}.picker-create-actions{display:flex;gap:12px;margin-top:12px}.picker-cancel{flex:1;padding:10px;background:#f5f5f5;border:none;outline:none;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s}.picker-cancel:hover{background:#eee}.picker-save{flex:1;padding:10px;background:var(--primary);border:none;outline:none;border-radius:8px;font-size:.9rem;font-weight:500;color:#fff;cursor:pointer;transition:background .15s}.picker-save:hover:not(:disabled){background:#1449b8}.picker-save:disabled{opacity:.5;cursor:not-allowed}@media(min-width:769px){.list-picker-overlay{align-items:center}.list-picker-modal{border-radius:16px;max-height:500px}}.favorite-toast{position:fixed!important;bottom:24px!important;left:50%;transform:translate(-50%) translateY(100px);background:#333;color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000040;z-index:9999;opacity:0;transition:all .3s ease;pointer-events:none}.favorite-toast.visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.toast-content{display:flex;align-items:center;gap:12px;padding:14px 16px}.toast-content svg{flex-shrink:0}.toast-message{font-size:.9rem;white-space:nowrap}.toast-message strong{font-weight:600}.toast-change{background:#ffffff26;border:none;outline:none;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:500;color:#fff;cursor:pointer;transition:background .15s;margin-left:4px}.toast-change:hover{background:#ffffff40}.toast-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;outline:none;border-radius:50%;color:#ffffffb3;cursor:pointer;transition:all .15s;margin-left:4px}.toast-close:hover{background:#ffffff1a;color:#fff}@media(max-width:768px){.favorite-toast{bottom:24px!important;left:16px!important;right:16px!important;transform:translate(0) translateY(100px)}.favorite-toast.visible{transform:translate(0) translateY(0)}.toast-content{padding:12px 14px}.toast-message{flex:1;font-size:.85rem}}.reviews-page{min-height:100vh;background:#f8fafc;padding-bottom:40px}.reviews-header{background:#fff;padding:24px 20px 20px;border-bottom:1px solid #e2e8f0}.reviews-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 4px}.reviews-header p{font-size:14px;color:#64748b;margin:0}.reviews-tabs{display:flex;gap:8px;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0;overflow-x:auto;-webkit-overflow-scrolling:touch}.reviews-tabs .tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:100px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap}.reviews-tabs .tab-btn:hover{background:#e2e8f0;color:#1e293b}.reviews-tabs .tab-btn.active{background:#1e293b;border-color:#1e293b;color:#fff}.reviews-tabs .tab-btn svg{flex-shrink:0}.reviews-tabs .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#f59e0b;color:#fff;border-radius:10px;font-size:12px;font-weight:600}.reviews-tabs .tab-btn.active .tab-count{background:#ffffff40}.reviews-tabs .tab-count.completed{background:#10b981}.reviews-content{padding:20px;max-width:900px;margin:0 auto}.reviews-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#64748b}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.reviews-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;color:#64748b}.reviews-empty svg{color:#cbd5e1;margin-bottom:16px}.reviews-empty h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 8px}.reviews-empty p{font-size:14px;margin:0 0 24px;max-width:300px}.view-reviews-btn{padding:12px 28px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.view-reviews-btn:hover{background:#2563eb}.reviews-list{display:flex;flex-direction:column;gap:16px}.list-intro{font-size:14px;color:#64748b;margin:0 0 8px}.pending-card{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s}.pending-card:hover{box-shadow:0 4px 12px #0000001a}.pending-image{width:100px;height:80px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#f1f5f9}.pending-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#94a3b8}.pending-details{flex:1;min-width:0}.pending-details h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-location,.pending-room,.pending-dates{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;margin:0 0 2px}.pending-location svg,.pending-dates svg{flex-shrink:0;color:#94a3b8}.pending-room{font-weight:500;color:#475569}.write-review-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f59e0b;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.write-review-btn:hover{background:#d97706}.write-review-btn svg{flex-shrink:0}.review-card{display:flex;gap:20px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000014}.review-image{width:140px;height:120px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#f1f5f9}.review-image img{width:100%;height:100%;object-fit:cover}.review-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.review-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 4px}.review-location{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;margin:0}.review-location svg{color:#94a3b8}.review-rating{display:flex;align-items:center;gap:8px;flex-shrink:0}.stars-display{display:flex;gap:2px}.stars-display .star{color:#e2e8f0}.stars-display .star.filled{color:#f59e0b;fill:#f59e0b}.rating-number{font-size:14px;font-weight:600;color:#1e293b}.review-comment{font-size:14px;color:#475569;line-height:1.6;margin:0;padding:12px 16px;background:#f8fafc;border-radius:10px;border-left:3px solid #3b82f6;font-style:italic}.review-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#94a3b8}.review-title{font-size:15px;font-weight:600;color:#1e293b;margin:0;font-style:italic}.review-liked,.review-disliked{font-size:14px;color:#475569;line-height:1.5;margin:0}.review-liked{color:#059669}.review-disliked{color:#dc2626}.review-images-row{display:flex;gap:8px;flex-wrap:wrap}.review-thumb{width:60px;height:60px;border-radius:8px;overflow:hidden}.review-thumb img{width:100%;height:100%;object-fit:cover}.owner-reply-box{background:#eff6ff;border-radius:10px;padding:14px 16px;border-left:3px solid #3b82f6}.owner-reply-box .reply-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#3b82f6;margin-bottom:8px}.owner-reply-box .reply-header svg{flex-shrink:0}.owner-reply-box .reply-date{margin-left:auto;font-weight:400;color:#94a3b8}.owner-reply-box p{margin:0;font-size:14px;color:#1e40af;line-height:1.5}@media(max-width:768px){.reviews-header{padding:20px 16px}.reviews-header h1{font-size:24px}.reviews-tabs{padding:12px 16px}.reviews-content{padding:16px}.pending-card{flex-direction:column;align-items:stretch}.pending-image{width:100%;height:140px}.write-review-btn{width:100%;justify-content:center}.review-card{flex-direction:column}.review-image{width:100%;height:160px}.review-header{flex-direction:column;gap:8px}.review-rating{align-self:flex-start}.review-actions{flex-direction:column}.review-actions .action-btn{justify-content:center}.delete-modal{padding:24px}.delete-modal-actions{flex-direction:column}}@media(max-width:480px){.reviews-tabs .tab-btn{padding:8px 14px;font-size:13px}.reviews-tabs .tab-btn svg{display:none}}.write-review-page{min-height:100vh;background:#f8fafc}.review-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:#64748b}.review-loading .spinner{animation:spin 1s linear infinite}.review-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:12px;padding:20px;text-align:center}.review-error h2{margin:0;color:#1e293b}.review-error p{margin:0;color:#64748b}.review-error button{margin-top:16px;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer}.review-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:100}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border:none;border-radius:50%;color:#1e293b;cursor:pointer;transition:background .2s}.back-btn:hover{background:#e2e8f0}.step-indicator{font-size:15px;font-weight:600;color:#1e293b}.property-banner{position:relative;height:200px;background:linear-gradient(135deg,#1e3a5f,#0f172a);overflow:hidden}.banner-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.4}.banner-overlay{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 20px;color:#fff}.banner-overlay h1{font-size:22px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.banner-overlay p{font-size:14px;margin:0;opacity:.9}.stay-dates{font-weight:600;margin-top:4px!important}.review-content{max-width:600px;margin:0 auto;padding:24px 20px 100px}.rating-section,.categories-section,.written-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f}.rating-section h2,.categories-section h2,.written-section h2{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.section-subtitle{font-size:14px;color:#64748b;margin:0 0 20px}.star-rating{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.star-btn{background:none;border:none;cursor:pointer;padding:4px;transition:transform .15s}.star-btn:hover{transform:scale(1.15)}.star-btn.active{animation:starPop .3s ease}@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.rating-label{text-align:center;font-size:16px;font-weight:600;color:#f59e0b;margin:0}.category-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f1f5f9}.category-row:last-child{border-bottom:none;padding-bottom:0}.category-row:first-child{padding-top:0}.category-info{display:flex;flex-direction:column;gap:2px}.category-label{font-size:15px;font-weight:600;color:#1e293b}.category-description{font-size:12px;color:#94a3b8}.emoji-options{display:flex;gap:6px}.emoji-btn{width:44px;height:44px;background:#f1f5f9;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.emoji-btn:hover{background:#e2e8f0;transform:scale(1.1)}.emoji-btn.selected{background:#fef3c7;border-color:#f59e0b;transform:scale(1.15)}.emoji-btn .emoji{font-size:22px;line-height:1}@media(max-width:480px){.emoji-options{gap:4px}.emoji-btn{width:38px;height:38px}.emoji-btn .emoji{font-size:18px}}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:15px;font-weight:600;color:#1e293b;margin-bottom:8px}.form-group textarea,.form-group input[type=text]{width:100%;padding:14px 16px;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;color:#1e293b;background:#f8fafc;resize:none;transition:all .2s;font-family:inherit}.form-group textarea:focus,.form-group input[type=text]:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea::placeholder,.form-group input[type=text]::placeholder{color:#94a3b8}.input-hint{display:block;margin-top:6px;font-size:12px;color:#94a3b8}.image-preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.image-preview-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden}.image-preview-item img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-image-btn:hover{background:#ef4444e6}.image-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px dashed #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s;color:#64748b}.image-upload-zone:hover{border-color:#3b82f6;background:#f0f9ff;color:#3b82f6}.image-upload-zone span{font-size:13px}.step-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16px 20px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:12px;z-index:100}.footer-note{font-size:12px;color:#64748b;text-align:center;margin:0}.continue-btn,.submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#3b82f6;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.continue-btn:hover:not(:disabled),.submit-btn:hover:not(:disabled){background:#2563eb}.continue-btn:disabled,.submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.skip-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;background:transparent;color:#64748b;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.skip-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.skip-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn .spinner{animation:spin 1s linear infinite}@media(min-width:768px){.property-banner{height:240px}.banner-overlay h1{font-size:28px}.review-content{padding:32px 20px 120px}.rating-section,.categories-section,.written-section{padding:32px}.step-footer{max-width:600px;left:50%;transform:translate(-50%);border-radius:16px 16px 0 0;padding:20px 24px}.image-preview-grid{grid-template-columns:repeat(5,1fr);gap:12px}}@media(max-width:380px){.category-stars{gap:2px}.category-star-btn svg{width:20px;height:20px}.star-btn svg{width:32px;height:32px}.image-preview-grid{grid-template-columns:repeat(3,1fr)}}.review-policy-page{min-height:100vh;background:#f8fafc}.policy-header{background:linear-gradient(135deg,#1e3a5f,#0f172a);padding:24px 20px 60px;color:#fff}.back-link{display:inline-flex;align-items:center;gap:8px;color:#fffc;text-decoration:none;font-size:14px;margin-bottom:32px;transition:color .2s}.back-link:hover{color:#fff}.header-content{max-width:800px;margin:0 auto;text-align:center}.header-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#ffffff26;border-radius:16px;margin-bottom:20px}.policy-header h1{font-size:32px;font-weight:700;margin:0 0 12px}.policy-header>.header-content>p{font-size:16px;opacity:.9;margin:0}.policy-content{max-width:800px;margin:-40px auto 40px;padding:0 20px}.policy-section{background:#fff;border-radius:16px;padding:32px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.policy-section.intro{border-left:4px solid #3b82f6}.policy-section.intro p{font-size:16px;line-height:1.7;color:#475569;margin:0 0 16px}.policy-section.intro p:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-header h2{font-size:20px;font-weight:600;color:#1e293b;margin:0}.icon-red{color:#dc2626}.icon-orange{color:#f59e0b}.icon-blue{color:#3b82f6}.icon-green{color:#10b981}.policy-section>p{font-size:15px;line-height:1.6;color:#64748b;margin:0 0 16px}.prohibited-list{list-style:none;padding:0;margin:0}.prohibited-list li{position:relative;padding:12px 16px 12px 36px;background:#fef2f2;border-radius:10px;margin-bottom:10px;font-size:14px;color:#475569;line-height:1.5}.prohibited-list li:last-child{margin-bottom:0}.prohibited-list li:before{content:"✕";position:absolute;left:12px;top:12px;color:#dc2626;font-weight:700}.prohibited-list li strong{color:#1e293b}.consequences-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.consequence-card{padding:24px;border-radius:12px;text-align:center}.consequence-card.warning{background:#fef3c7}.consequence-card.suspension{background:#fed7aa}.consequence-card.removal{background:#fecaca}.consequence-icon{width:48px;height:48px;margin:0 auto 12px;background:#fff9;border-radius:50%;display:flex;align-items:center;justify-content:center}.consequence-card.warning .consequence-icon{color:#b45309}.consequence-card.suspension .consequence-icon{color:#c2410c}.consequence-card.removal .consequence-icon{color:#dc2626}.consequence-card h3{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 8px}.consequence-card p{font-size:13px;color:#475569;margin:0;line-height:1.4}.monitor-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.monitor-list li{padding:12px 16px 12px 36px;background:#eff6ff;border-radius:8px;font-size:14px;color:#1e40af;position:relative}.monitor-list li:before{content:"👁";position:absolute;left:10px;top:11px;font-size:14px}.best-practices-list{list-style:none;padding:0;margin:0}.best-practices-list li{padding:14px 16px 14px 40px;background:#f0fdf4;border-radius:10px;margin-bottom:10px;font-size:14px;color:#475569;line-height:1.5;position:relative}.best-practices-list li:last-child{margin-bottom:0}.best-practices-list li:before{content:"✓";position:absolute;left:14px;top:14px;color:#10b981;font-weight:700;font-size:16px}.best-practices-list li strong{color:#1e293b}.policy-section.report{text-align:center;background:#f8fafc;border:2px dashed #e2e8f0}.policy-section.report h2{font-size:18px;color:#1e293b;margin:0 0 12px}.policy-section.report p{margin:0 0 16px;color:#64748b}.report-email{display:inline-block;padding:14px 28px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:10px;font-weight:600;font-size:15px;transition:background .2s}.report-email:hover{background:#2563eb}.policy-footer{text-align:center;padding:20px}.policy-footer p{font-size:13px;color:#94a3b8;margin:0}@media(max-width:768px){.policy-header{padding:20px 16px 50px}.policy-header h1{font-size:26px}.policy-content{padding:0 16px}.policy-section{padding:24px}.consequences-grid,.monitor-list{grid-template-columns:1fr}.consequence-card{display:flex;align-items:center;gap:16px;text-align:left;padding:16px}.consequence-icon{margin:0;flex-shrink:0}.consequence-card h3{margin-bottom:4px}}@media(max-width:480px){.section-header{flex-direction:column;align-items:flex-start;gap:8px}.section-header h2{font-size:18px}}.hotel-detail{max-width:1200px;margin:0 auto;padding:0 20px 60px}.hotel-detail-loading,.hotel-detail-error{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.hotel-detail-loading .loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.hotel-detail-error h2{font-size:24px;color:#1e293b;margin-bottom:8px}.hotel-detail-error p{color:#64748b;margin-bottom:24px}.hotel-detail-error button{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer}.hotel-gallery{margin-bottom:32px;position:relative;padding:0 20px}.gallery-masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,140px);gap:8px;border-radius:16px;overflow:hidden}.masonry-item{cursor:pointer;overflow:hidden;position:relative;border-radius:8px}.masonry-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.masonry-item:hover img{transform:scale(1.05)}.masonry-item.item-1{grid-column:1;grid-row:1 / 3}.masonry-item.item-2{grid-column:2;grid-row:1}.masonry-item.item-3{grid-column:3;grid-row:1}.masonry-item.item-4{grid-column:2;grid-row:2}.masonry-item.item-5{grid-column:3;grid-row:2}.masonry-item.item-6{display:none}.more-photos-overlay{position:absolute;inset:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600}.gallery-placeholder{height:200px;background:#f1f5f9;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#64748b}.show-all-photos{position:absolute;bottom:16px;right:28px;background:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.show-all-photos:hover{transform:scale(1.02);box-shadow:0 4px 12px #0003}.hotel-detail-content{display:grid;grid-template-columns:1fr;gap:32px}.hotel-info{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f}.hotel-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.hotel-type-label{display:inline-block;background:#e0e7ff;color:#4f46e5;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize;margin-bottom:8px}.hotel-info h1{font-family:Fraunces,serif;font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.hotel-info .hotel-location{color:#64748b;font-size:15px;margin:0}.hotel-stats{display:flex;gap:24px}.stat-item{text-align:center}.stat-value{display:block;font-size:24px;font-weight:700;color:#1e293b}.stat-label{font-size:12px;color:#64748b}.hotel-description{margin-bottom:24px}.hotel-description h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 12px}.hotel-description p{color:#64748b;line-height:1.7;margin:0}.hotel-location-section h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 12px}.location-area{color:#64748b;margin:0}.rooms-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f}.rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.rooms-header h2{font-family:Fraunces,serif;font-size:22px;font-weight:700;color:#1e293b;margin:0}.stay-dates{color:#64748b;font-size:14px}.rooms-list{display:flex;flex-direction:column;gap:20px}.rooms-section .room-card{display:flex!important;flex-direction:row!important;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;overflow:hidden;border:1px solid #e2e8f0;padding:0!important;margin-bottom:20px;width:100%}.room-card-image{position:relative;width:320px;min-width:320px;flex-shrink:0;aspect-ratio:4/3;background:#f1f5f9;cursor:pointer;overflow:hidden}.room-card-image.no-photo{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}.room-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.room-card-image:hover img{transform:scale(1.03)}.slider-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:6px}.slider-dots .dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;border:none;padding:0;cursor:pointer;transition:all .2s}.slider-dots .dot.active{background:#fff;transform:scale(1.2)}.slider-dots .dot:hover{background:#fffc}.room-card-content{flex:1;min-width:0;display:flex;justify-content:space-between;padding:20px;gap:20px}.room-card-info{flex:1;display:flex;flex-direction:column;gap:8px}.room-name{font-size:20px;font-weight:700;color:#1e293b;margin:0}.room-specs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:#64748b}.room-specs span{display:inline-flex;align-items:center}.room-specs span:not(:last-child):after{content:"·";margin-left:16px;color:#cbd5e1}.room-card .room-amenities{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px;margin-top:4px;align-items:center;width:100%}.room-card .amenity-tag{display:inline-flex!important;align-items:center;gap:6px;padding:6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;font-size:13px;color:#475569;white-space:nowrap;flex-shrink:0;width:auto!important;max-width:fit-content}.room-card .amenity-tag svg{color:#64748b;flex-shrink:0}.room-card .amenity-more{display:inline-flex;align-items:center;padding:6px 12px;background:transparent;border:none;font-size:13px;color:#0ea5e9;font-weight:500;cursor:pointer;transition:color .2s;white-space:nowrap}.room-card .amenity-more:hover{color:#0284c7}.room-beds{font-size:13px;color:#64748b;margin-top:auto}.room-card-pricing{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;min-width:140px;text-align:right}.price-display{margin-bottom:12px}.price-amount{font-size:24px;font-weight:700;color:#1e293b}.price-period{display:block;font-size:13px;color:#64748b}.price-unavailable{font-size:14px;color:#64748b;margin-bottom:12px}.book-btn{padding:12px 32px;background:#0ea5e9;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.book-btn:hover{background:#0284c7;transform:translateY(-1px)}.book-btn.secondary{background:#64748b}.book-btn.secondary:hover{background:#475569}.no-rooms{text-align:center;padding:40px;color:#64748b}.no-rooms p{margin-bottom:16px}.gallery-modal{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center}.gallery-close{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;color:#fff;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer;transition:background .2s;z-index:10}.gallery-close:hover{background:#fff3}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;width:56px;height:56px;border-radius:50%;font-size:32px;cursor:pointer;transition:background .2s;z-index:10}.gallery-nav:hover{background:#fff3}.gallery-nav.prev{left:20px}.gallery-nav.next{right:20px}.gallery-main-image{max-width:90%;max-height:90vh;position:relative}.gallery-main-image img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px}.gallery-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:14px}.room-gallery-modal{position:fixed;inset:0;background:#000000f7;z-index:1000;display:flex;align-items:center;justify-content:center;cursor:pointer}.room-gallery-modal .gallery-close{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:20px;cursor:pointer;transition:background .2s;z-index:10}.room-gallery-content{max-width:95%;max-height:85vh;display:flex;align-items:center;justify-content:center}.room-gallery-content img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px;pointer-events:none}.room-gallery-counter{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:8px 20px;border-radius:24px;font-size:16px;font-weight:500}.search-edit-bar{display:flex;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000f}.search-edit-bar:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.search-edit-item{display:flex;align-items:center;gap:8px;color:#1e293b;font-size:.95rem;font-weight:500}.search-edit-item svg{color:#3b82f6}.search-edit-divider{width:1px;height:24px;background:#e2e8f0;margin:0 16px}.nights-badge{font-size:.85rem;color:#64748b;font-weight:500}.search-edit-bar .chevron{margin-left:auto;color:#94a3b8}@media(max-width:768px){.search-edit-bar{margin:12px;padding:12px 14px}.search-edit-item{font-size:.9rem}.search-edit-divider{margin:0 10px}.nights-badge{font-size:.8rem}}@media(max-width:768px){.hotel-detail{padding:0 0 60px}.hotel-gallery{padding:0 16px;margin-bottom:24px}.gallery-masonry{grid-template-columns:repeat(2,1fr);grid-template-rows:120px 120px 120px;gap:6px}.masonry-item.item-1{grid-column:1;grid-row:1 / 3}.masonry-item.item-2{grid-column:2;grid-row:1}.masonry-item.item-3{grid-column:2;grid-row:2}.masonry-item.item-4{grid-column:1;grid-row:3}.masonry-item.item-5{grid-column:2;grid-row:3}.show-all-photos{right:24px;padding:8px 16px;font-size:13px}.hotel-info{border-radius:0;margin:0;padding:20px 16px}.hotel-info-header{flex-direction:column;gap:16px}.hotel-stats{width:100%;justify-content:flex-start}.rooms-section{border-radius:0;padding:16px;box-shadow:none}.rooms-header{padding:0 0 16px}.rooms-list{gap:16px}.rooms-section .room-card{display:flex!important;flex-direction:column!important;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0;padding:0!important;overflow:hidden}.rooms-section .room-card:last-child{border-bottom:1px solid #e2e8f0}.room-card-image{width:100%;min-width:100%;flex-shrink:0;aspect-ratio:16/10;border-radius:0}.room-card-content{flex-direction:column;padding:16px;gap:12px}.room-card-info{gap:10px}.room-name{font-size:18px}.room-specs{font-size:13px}.room-specs span:not(:last-child):after{margin-left:12px}.room-card .room-amenities{gap:6px}.room-card .amenity-tag{padding:5px 10px;font-size:12px}.room-beds{margin-top:4px}.rooms-section .room-card-pricing{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%;padding-top:12px;border-top:1px solid #f1f5f9;gap:12px}.price-display{margin-bottom:0;display:flex;align-items:baseline;gap:6px}.price-amount{font-size:22px}.price-period{display:inline}.rooms-section .book-btn{width:100%!important;padding:14px 24px!important;text-align:center;font-size:15px}.price-unavailable{font-size:14px}.gallery-nav{display:none}.room-gallery-counter{font-size:14px;padding:6px 16px}}@media(max-width:400px){.room-specs{flex-direction:row;gap:4px}.room-specs span:not(:last-child):after{display:none}.price-amount{font-size:20px}.book-btn{padding:12px 20px;font-size:14px}}.reservation-detail{min-height:100vh;background:#f5f7fa}.reservation-detail-loading,.reservation-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.reservation-detail-loading .loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#1a56db;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reservation-detail-error button{padding:12px 24px;background:#1a56db;color:#fff;border:none;border-radius:8px;cursor:pointer}.reservation-header{background:#fff;padding:16px 24px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:100}.back-btn{min-width:100px;display:flex;align-items:center;gap:6px;padding:8px 20px;background:none;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;color:#374151;font-size:14px;transition:all .2s}.back-btn:hover{background:#f3f4f6;border-color:#9ca3af}.header-info{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex:1}.header-info h1{font-size:20px;font-weight:600;margin:0;color:#111827}.header-info span{margin-left:10px}.header-info h1 br{display:none}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.status-green{background:#d1fae5;color:#065f46}.status-red{background:#fee2e2;color:#991b1b}.status-blue{background:#dbeafe;color:#1e40af}.status-yellow{background:#fef3c7;color:#92400e}.status-orange{background:#ffedd5;color:#c2410c}.reservation-content{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px;max-width:1400px;margin:0 auto}.reservation-main{display:flex;flex-direction:column;gap:20px}.detail-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014}.detail-card h2{font-size:16px;font-weight:600;color:#111827;margin:0 0 20px;display:flex;align-items:center;gap:8px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f9fafb;border-radius:8px}.info-item.clickable{cursor:pointer;transition:background .2s}.info-item.clickable:hover{background:#f3f4f6}.info-item svg{color:#6b7280;flex-shrink:0;margin-top:2px}.info-item .label{display:block;font-size:12px;color:#6b7280;margin-bottom:2px}.info-item .value{display:block;font-size:14px;color:#111827;font-weight:500}.copy-icon{margin-left:auto;color:#9ca3af}.room-info{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.room-info h3{font-size:15px;font-weight:600;color:#111827;margin:0 0 6px}.room-info p{font-size:13px;color:#6b7280;margin:0}.refundable-badge{display:inline-block;margin-left:8px;padding:4px 8px;background:#d1fae5;color:#065f46;border-radius:4px;font-size:12px}.special-requests{margin-top:16px;padding:16px;background:#fffbeb;border-radius:8px;border-left:3px solid #f59e0b}.special-requests h3{font-size:13px;font-weight:600;color:#92400e;margin:0 0 8px}.special-requests p{font-size:14px;color:#78350f;margin:0;line-height:1.5}.payment-summary{margin-bottom:16px}.payment-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.payment-row.sub{color:#6b7280;font-size:13px;border-top:none;padding-top:0}.total-price{font-size:24px;font-weight:700;color:#111827}.card-info{display:flex;align-items:center;gap:10px;padding:14px;background:#f9fafb;border-radius:8px;font-size:14px;color:#374151}.card-holder{margin-left:auto;color:#6b7280;font-size:13px}.conversation-card{display:flex;flex-direction:column}.messages-container{flex:1;min-height:300px;max-height:400px;overflow-y:auto;margin-bottom:16px;padding:16px;background:#f9fafb;border-radius:8px}.no-messages{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:14px}.messages-list{display:flex;flex-direction:column;gap:12px}.message{display:flex}.message.sent{justify-content:flex-end}.message.received{justify-content:flex-start}.message-bubble{max-width:75%;padding:12px 16px;border-radius:16px}.message.sent .message-bubble{background:#1a56db;color:#fff;border-bottom-right-radius:4px}.message.received .message-bubble{background:#fff;color:#111827;border-bottom-left-radius:4px;box-shadow:0 1px 2px #00000014}.message-bubble p{margin:0 0 6px;font-size:14px;line-height:1.5}.message-time{display:block;font-size:11px;opacity:.7}.message.sent .message-time{text-align:right}.message-input{display:flex;gap:12px}.message-input input{flex:1;padding:14px 18px;border:1px solid #d1d5db;border-radius:24px;font-size:14px;outline:none;transition:border-color .2s}.message-input input:focus{border-color:#1a56db}.message-input button{width:48px;height:48px;border-radius:50%;border:none;background:#1a56db;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.message-input button:hover:not(:disabled){background:#1e40af}.message-input button:disabled{background:#d1d5db;cursor:not-allowed}.reservation-sidebar{display:flex;flex-direction:column;gap:20px}.actions-card,.timeline-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.actions-card h2,.timeline-card h2{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.action-btn{width:100%;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:10px}.action-btn:last-child{margin-bottom:0}.action-btn.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.action-btn.secondary:hover{background:#f3f4f6;border-color:#9ca3af}.action-btn.danger{background:#fff;border:1px solid #fca5a5;color:#dc2626}.action-btn.danger:hover{background:#fef2f2;border-color:#f87171}.noshow-info{text-align:center;padding:16px;background:#f9fafb;border-radius:8px;font-size:13px;color:#6b7280;margin-bottom:10px}.noshow-info p{margin:0}.cancel-info{text-align:center;padding:16px;background:#f9fafb;border-radius:8px;font-size:13px;color:#6b7280}.cancel-info p{margin:0 0 8px}.cancel-info a{color:#1a56db;text-decoration:none}.cancel-info a:hover{text-decoration:underline}.cancelled-info{text-align:center;padding:16px;background:#fef2f2;border-radius:8px;color:#991b1b;font-size:14px}.cancelled-info p{margin:0}.cancelled-info span{display:block;font-size:12px;color:#b91c1c;margin-top:4px}.noshow-status{text-align:center;padding:16px;background:#ffedd5;border-radius:8px;color:#c2410c;font-size:14px}.noshow-status p{margin:0}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:#e5e7eb}.timeline-item{position:relative;padding-bottom:16px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-24px;top:4px;width:14px;height:14px;border-radius:50%;background:#1a56db;border:2px solid white;box-shadow:0 0 0 2px #e5e7eb}.timeline-dot.red{background:#dc2626}.timeline-dot.orange{background:#ea580c}.timeline-content{display:flex;flex-direction:column;gap:2px}.timeline-label{font-size:14px;color:#111827}.timeline-date{font-size:12px;color:#6b7280}@media(max-width:1024px){.reservation-content{grid-template-columns:1fr}.reservation-sidebar{flex-direction:row;flex-wrap:wrap}.actions-card,.timeline-card{flex:1;min-width:280px}}@media(max-width:768px){.reservation-header{flex-flow:row;padding:12px 16px}.header-info{justify-content:space-around}.header-info span{margin-left:0}.header-info h1 br{display:block}.booking-ref-title{font-size:16px;font-weight:500;color:#6b7280}.header-info h1{font-size:16px}.back-btn span{display:none}.reservation-content{padding:16px}.info-grid{grid-template-columns:1fr}.detail-card{padding:20px}.reservation-sidebar{flex-direction:column}.actions-card,.timeline-card{min-width:auto}}@media(max-width:480px){.message-bubble{max-width:85%}.total-price{font-size:20px}.back-btn{min-width:80px}}.legal-page{min-height:100vh;background:#f8fafc;padding:40px 20px 80px}.legal-container{max-width:800px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:40px}@media(max-width:640px){.legal-page{padding:20px 16px 60px}.legal-container{padding:24px 20px;border-radius:12px}}.legal-back{display:inline-flex;align-items:center;gap:8px;color:#3b82f6;text-decoration:none;font-size:.95rem;font-weight:500;margin-bottom:24px;transition:color .2s}.legal-back:hover{color:#2563eb}.legal-container h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 8px}@media(max-width:640px){.legal-container h1{font-size:1.5rem}}.legal-updated{color:#64748b;font-size:.9rem;margin:0 0 32px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.legal-container section{margin-bottom:32px}.legal-container h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0 0 16px;padding-top:8px}.legal-container h3{font-size:1.05rem;font-weight:600;color:#334155;margin:20px 0 12px}.legal-container h4{font-size:1rem;font-weight:600;color:#334155;margin:0 0 8px}.legal-container p{color:#475569;line-height:1.7;margin:0 0 12px}.legal-container ul,.legal-container ol{color:#475569;line-height:1.7;margin:0 0 16px;padding-left:24px}.legal-container li{margin-bottom:8px}.legal-container a{color:#3b82f6;text-decoration:none}.legal-container a:hover{text-decoration:underline}.contact-list{list-style:none;background:#f8fafc;padding:16px 20px;border-radius:8px}.contact-list li{margin-bottom:6px}.contact-list li:last-child{margin-bottom:0}.rights-list{counter-reset:rights;list-style:none;padding-left:0}.rights-list li{counter-increment:rights;padding-left:32px;position:relative}.rights-list li:before{content:counter(rights,lower-alpha) ")";position:absolute;left:0;color:#3b82f6;font-weight:600}.info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px 20px;margin:16px 0}.info-box p{margin-bottom:6px}.info-box p:last-child{margin-bottom:0}.warning-box{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:16px 20px;margin:16px 0}.warning-box p{color:#92400e;margin:0}.kvkk-intro{background:#f0f9ff;border-left:4px solid #3b82f6;padding:16px 20px;border-radius:0 8px 8px 0;margin-bottom:32px}.kvkk-intro p{margin:0;font-size:1.05rem}.kvkk-table,.cookie-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem}.kvkk-table th,.kvkk-table td,.cookie-table th,.cookie-table td{border:1px solid #e2e8f0;padding:12px 16px;text-align:left}.kvkk-table th,.cookie-table th{background:#f8fafc;font-weight:600;color:#334155}.kvkk-table td,.cookie-table td{color:#475569}@media(max-width:640px){.kvkk-table,.cookie-table{font-size:.85rem}.kvkk-table th,.kvkk-table td,.cookie-table th,.cookie-table td{padding:10px 12px}}.legal-footer{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid #e2e8f0}.legal-footer a{color:#64748b;font-size:.9rem;text-decoration:none;transition:color .2s}.legal-footer a:hover{color:#3b82f6}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px #0000001a;padding:20px;z-index:9999;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner-text{flex:1}.cookie-banner-text p{margin:0;color:#475569;font-size:.95rem;line-height:1.5}.cookie-banner-text a{color:#3b82f6;text-decoration:none}.cookie-banner-text a:hover{text-decoration:underline}.cookie-banner-actions{display:flex;gap:12px;flex-shrink:0}.cookie-btn{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.cookie-btn-accept{background:#3b82f6;color:#fff;border:none}.cookie-btn-accept:hover{background:#2563eb}.cookie-btn-settings{background:#fff;color:#475569;border:1px solid #e2e8f0}.cookie-btn-settings:hover{background:#f8fafc;border-color:#cbd5e1}@media(max-width:640px){.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-actions{width:100%}.cookie-btn{flex:1}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:40px 20px}.not-found-content{text-align:center;max-width:480px}.not-found-illustration{position:relative;margin-bottom:32px}.error-code{font-size:8rem;font-weight:800;color:#e2e8f0;line-height:1;letter-spacing:-4px;-webkit-user-select:none;user-select:none}.error-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-60%)}}.not-found-content h1{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 12px}.not-found-content>p{font-size:1rem;color:#64748b;line-height:1.6;margin:0 0 32px}.not-found-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.not-found-actions .btn-primary,.not-found-actions .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s}.not-found-actions .btn-primary{background:#3b82f6;color:#fff}.not-found-actions .btn-primary:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.not-found-actions .btn-secondary{background:#fff;color:#334155;border:1px solid #e2e8f0}.not-found-actions .btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#64748b;font-size:.9rem;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s}.btn-back:hover{color:#334155;background:#0000000d}@media(max-width:480px){.error-code{font-size:6rem}.error-icon{font-size:3rem}.not-found-content h1{font-size:1.5rem}.not-found-actions{flex-direction:column}.not-found-actions .btn-primary,.not-found-actions .btn-secondary{width:100%;justify-content:center}}
