:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-primary: #09090b;--color-primary-hover: #27272a;--color-primary-light: #f4f4f5;--color-hotel: #09090b;--color-hotel-bg: #f4f4f5;--color-hotel-border: #e4e4e7;--color-homestay: #059669;--color-homestay-bg: #ecfdf5;--color-homestay-border: #a7f3d0;--color-pg: #d97706;--color-pg-bg: #fffbeb;--color-pg-border: #fde68a;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:#cbd5e1;color:#09090b}::-moz-selection{background-color:#cbd5e1;color:#09090b}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,select,input{font-family:inherit}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{height:64px;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100;flex-shrink:0}.header-brand{display:flex;align-items:center;gap:12px}.brand-logo-badge{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,#09090b,#27272a);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.brand-logo-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .15s ease}.brand-logo-btn:hover{transform:scale(1.05);opacity:.9}.brand-logo-btn:active{transform:scale(.98)}.brand-logo-img{height:42px;width:auto;object-fit:contain;display:block}.app-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary);line-height:1.2}.brand-title-clickable{cursor:pointer;transition:color .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.brand-title-clickable:hover{color:var(--color-primary)}.app-subtitle{font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.subtitle-link{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .15s ease}.subtitle-link:hover{text-decoration:underline;color:var(--color-primary-hover)}.header-actions{display:flex;align-items:center;gap:16px}.header-stat{display:flex;align-items:baseline;gap:6px;background-color:var(--color-bg);padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.stat-value{font-size:.95rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.export-button{display:inline-flex;align-items:center;gap:8px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px #00000026}.export-button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 6px #0003}.export-button:active:not(:disabled){transform:translateY(0)}.export-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.export-count{opacity:.85;font-weight:500;font-size:.8rem}.filter-bar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:10px 24px;z-index:90;flex-shrink:0;box-shadow:var(--shadow-sm)}.filter-bar-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{display:flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.label-icon{color:var(--color-text-muted)}.select-wrapper{position:relative}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:7px 32px 7px 12px;font-size:.85rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2309090b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;max-width:260px}.filter-select:hover:not(:disabled){border-color:#09090b;background-color:#f1f5f9}.filter-select:focus{outline:none;border-color:#09090b;box-shadow:0 0 0 3px #09090b1f}.custom-dropdown-container{position:relative;display:inline-block}.custom-dropdown-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:7px 12px;font-size:.85rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease;min-width:140px;max-width:260px;-webkit-user-select:none;user-select:none}.custom-dropdown-trigger:hover:not(:disabled){border-color:#09090b;background-color:#f1f5f9}.custom-dropdown-trigger.open,.custom-dropdown-trigger:focus-visible{outline:none;border-color:#09090b;box-shadow:0 0 0 2px #09090b1f;background-color:#fff}.custom-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.custom-dropdown-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.custom-dropdown-chevron{color:#64748b;flex-shrink:0;transition:transform .2s ease,color .15s ease}.custom-dropdown-trigger:hover .custom-dropdown-chevron,.custom-dropdown-trigger.open .custom-dropdown-chevron{color:#09090b}.custom-dropdown-chevron.rotate{transform:rotate(180deg)}.custom-dropdown-menu{position:absolute;top:calc(100% + 5px);left:0;min-width:100%;width:max-content;max-width:290px;max-height:280px;overflow-y:auto;background-color:#fff;border:1px solid #09090b;border-radius:var(--radius-md);box-shadow:0 10px 25px -4px #0000002e,0 4px 10px -2px #0000001f;z-index:1200;padding:4px;display:flex;flex-direction:column;gap:2px;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown-menu::-webkit-scrollbar{width:5px}.custom-dropdown-menu::-webkit-scrollbar-track{background:transparent}.custom-dropdown-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.custom-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#09090b}.custom-dropdown-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:6px;border:none;background:transparent;color:#09090b;font-size:.83rem;font-weight:500;text-align:left;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.custom-dropdown-option:hover:not(.selected){background-color:#f4f4f5;color:#09090b}.custom-dropdown-option.selected{background-color:#09090b!important;color:#fff!important;font-weight:600}.custom-dropdown-option .option-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-dropdown-option .option-check{color:#fff;flex-shrink:0}.filter-divider{width:1px;height:24px;background-color:var(--color-border)}.category-filter-group{gap:12px}.select-all-btn{background:none;border:none;color:var(--color-primary);font-size:.72rem;font-weight:600;cursor:pointer;padding:0 2px;margin-left:4px}.select-all-btn:hover{text-decoration:underline}.category-pills{display:flex;align-items:center;gap:8px}.category-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:9999px;font-size:.8rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.category-pill *{pointer-events:none}.pill-checkbox-indicator{width:14px;height:14px;border-radius:3px;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;pointer-events:none;flex-shrink:0;transition:all .1s ease}.category-pill.category-hotel.active .pill-checkbox-indicator{border-color:#fff;color:#fff}.category-pill.category-homestay.active .pill-checkbox-indicator{border-color:var(--color-homestay);color:var(--color-homestay)}.category-pill.category-pg.active .pill-checkbox-indicator{border-color:var(--color-pg);color:var(--color-pg)}.category-pill.inactive .pill-checkbox-indicator{border-color:var(--color-text-muted)}.category-pill.inactive{background-color:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border);opacity:.75}.category-pill.inactive:hover{opacity:1;border-color:var(--color-border-hover);background-color:#f1f5f9}.category-pill.category-hotel.active{background-color:#09090b;color:#fff;border-color:#09090b}.category-pill.category-homestay.active{background-color:var(--color-homestay-bg);color:var(--color-homestay);border-color:var(--color-homestay-border)}.category-pill.category-pg.active{background-color:var(--color-pg-bg);color:var(--color-pg);border-color:var(--color-pg-border)}.search-filter-group{flex:1 1 200px;min-width:170px;max-width:320px;display:flex;align-items:center}.search-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.filter-search-input{width:100%;height:34px;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:9999px;padding:6px 32px 6px 14px;font-size:.85rem;font-weight:500;color:var(--color-text-primary);transition:all .15s ease;letter-spacing:-.01em}.filter-search-input:hover:not(:disabled){border-color:var(--color-border-hover);background-color:#f1f5f9}.filter-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #09090b1f;background-color:#fff}.filter-search-input::placeholder{color:#64748b;font-size:.82rem;font-weight:500}.search-clear-btn{position:absolute;right:10px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:3px;border-radius:50%;transition:all .12s ease}.search-clear-btn:hover{color:var(--color-text-primary);background-color:#00000014}.error-banner{background-color:#fef2f2;color:#b91c1c;border-bottom:1px solid #fecaca;padding:10px 24px;font-size:.85rem;display:flex;align-items:center;gap:10px}.main-content{flex:1;display:flex;position:relative;overflow:hidden}.main-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-secondary)}.spin-icon{animation:spin 1s linear infinite;color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-split-view{display:flex;width:100%;height:100%}.map-panel{flex:1 1 48%;width:48%;height:100%;position:relative}.map-view-container{width:100%;height:100%;position:relative}.leaflet-map{width:100%;height:100%;z-index:10}.leaflet-control-attribution{display:none!important}.map-legend{position:absolute;bottom:24px;right:24px;z-index:800;background-color:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-border);font-size:.78rem}.legend-title{font-weight:700;color:var(--color-text-primary);margin-bottom:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.legend-items{display:flex;flex-direction:column;gap:5px}.legend-item{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-weight:500}.legend-dot{width:10px;height:10px;border-radius:50%}.dot-hotel{background-color:var(--color-hotel)}.dot-homestay{background-color:var(--color-homestay)}.dot-pg{background-color:var(--color-pg)}.custom-cluster-wrapper{background:none;border:none}.stay-cluster{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#fff;border:2px solid #ffffff;box-shadow:0 3px 8px #00000040;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.stay-cluster:hover{transform:scale(1.15)}.stay-cluster-small{background:linear-gradient(135deg,#52525b,#71717a)}.stay-cluster-medium{background:linear-gradient(135deg,#27272a,#3f3f46)}.stay-cluster-large{background:linear-gradient(135deg,#09090b,#18181b)}.custom-leaflet-marker{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.marker-pin{border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #0000004d;border:2px solid #ffffff}.marker-symbol{transform:rotate(45deg)}.marker-shadow{position:absolute;bottom:-4px;width:14px;height:5px;background:radial-gradient(ellipse at center,#0000004d,#0000 70%);border-radius:50%}.custom-leaflet-marker:hover{transform:scale(1.15) translateY(-3px);z-index:999!important}.marker-selected{transform:scale(1.25) translateY(-4px);z-index:1000!important}.marker-selected .marker-pin{border:2.5px solid #ffffff;box-shadow:0 0 0 4px #09090b66,0 4px 12px #00000059}.stay-map-popup .leaflet-popup-content-wrapper{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:0;overflow:hidden;border:1px solid var(--color-border)}.stay-map-popup .leaflet-popup-content{margin:0;line-height:1.4;width:260px!important}.popup-content{padding:14px}.popup-header{margin-bottom:6px}.popup-category-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:9999px;text-transform:uppercase;letter-spacing:.03em}.popup-title{font-size:.95rem;font-weight:700;color:var(--color-text-primary);margin-bottom:8px;line-height:1.3}.popup-row{display:flex;align-items:flex-start;gap:7px;font-size:.78rem;color:var(--color-text-secondary);margin-top:5px}.popup-icon{color:var(--color-text-muted);margin-top:2px;flex-shrink:0}.popup-address{line-height:1.3}.popup-phone-row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--color-border)}.popup-phone-link{color:var(--color-primary);font-weight:600;text-decoration:none}.popup-phone-link:hover{text-decoration:underline}.popup-phone-na{color:var(--color-text-muted);font-style:italic}.list-panel{flex:1 1 52%;width:52%;height:100%;display:flex;flex-direction:column;background-color:var(--color-bg);min-width:320px;border-right:1px solid var(--color-border);position:relative}.stay-list-panel{display:flex;flex-direction:column;height:100%;position:relative}.stay-list-header{padding:14px 20px;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.count-info{display:flex;align-items:center;gap:8px}.count-badge{background-color:var(--color-primary-light);color:var(--color-primary);font-size:.78rem;font-weight:700;padding:2px 8px;border-radius:9999px}.count-text{font-size:.85rem;color:var(--color-text-secondary)}.stay-cards-container{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.stay-cards-container::-webkit-scrollbar{width:6px}.stay-cards-container::-webkit-scrollbar-track{background:transparent}.stay-cards-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.stay-cards-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.stay-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:all .18s ease;box-shadow:var(--shadow-sm);position:relative}.stay-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stay-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #09090b33,var(--shadow-md);background-color:#fff}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.stay-name{font-size:.95rem;font-weight:700;color:var(--color-text-primary);line-height:1.3}.card-header-tags{display:flex;align-items:center;gap:6px;flex-shrink:0}.card-map-pin-btn{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:9999px;background-color:var(--color-bg);color:var(--color-primary);border:1px solid var(--color-border);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.card-map-pin-btn:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.category-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:9999px;flex-shrink:0}.badge-hotel{background-color:var(--color-hotel-bg);color:var(--color-hotel);border:1px solid var(--color-hotel-border)}.badge-homestay{background-color:var(--color-homestay-bg);color:var(--color-homestay);border:1px solid var(--color-homestay-border)}.badge-pg{background-color:var(--color-pg-bg);color:var(--color-pg);border:1px solid var(--color-pg-border)}.badge-default{background-color:#f1f5f9;color:var(--color-text-secondary)}.card-area{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--color-primary);margin-bottom:6px}.area-text{text-transform:capitalize}.card-proprietor{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-primary);margin-bottom:6px}.proprietor-label{font-weight:600;color:var(--color-text-secondary)}.proprietor-name{font-weight:700;color:var(--color-text-primary)}.card-address{display:flex;align-items:flex-start;gap:6px;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;margin-bottom:12px}.address-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta-icon{color:var(--color-text-muted);margin-top:3px}.card-footer{display:flex;align-items:flex-start;padding-top:10px;border-top:1px solid var(--color-border);font-size:.8rem}.card-contacts{display:flex;flex-direction:column;gap:6px;width:100%}.contact-row{display:flex;align-items:center;gap:7px;font-size:.8rem}.phone-wrapper{display:flex;align-items:center;gap:7px}.phone-link{color:var(--color-text-primary);font-weight:600;text-decoration:none;transition:color .15s ease}.phone-link:hover{color:var(--color-primary);text-decoration:underline}.phone-unavailable{color:var(--color-text-muted);font-style:italic;font-size:.78rem}.email-wrapper{display:flex;align-items:center;gap:7px}.email-link{color:var(--color-text-primary);font-weight:500;text-decoration:none;font-size:.78rem;word-break:break-all;transition:color .15s ease}.email-link:hover{text-decoration:underline;color:var(--color-text-secondary)}.website-wrapper{display:flex;align-items:center;gap:7px}.website-link{color:#059669;font-weight:600;text-decoration:none;font-size:.78rem;display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.website-link:hover{text-decoration:underline;color:#047857}.popup-link{color:var(--color-primary);text-decoration:none;font-weight:500;word-break:break-all}.popup-link:hover{text-decoration:underline}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);margin-top:20px}.empty-icon-wrapper{width:64px;height:64px;border-radius:50%;background-color:#f1f5f9;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);margin-bottom:16px}.empty-title{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:6px}.empty-description{font-size:.82rem;color:var(--color-text-secondary);max-width:280px;line-height:1.4;margin-bottom:16px}.reset-filters-btn{display:inline-flex;align-items:center;gap:6px;background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);padding:6px 14px;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.reset-filters-btn:hover{background-color:#f1f5f9;border-color:var(--color-border-hover)}.list-scroll-top-btn{position:absolute;bottom:24px;right:20px;z-index:950;display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:9999px;padding:8px 16px;font-size:.8rem;font-weight:700;box-shadow:0 4px 16px #00000026;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}.list-scroll-top-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 20px #00000040}.map-floating-card{position:absolute;bottom:78px;left:14px;right:14px;max-width:420px;margin:0 auto;z-index:1000;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:0 16px 36px #0f172a38;padding:14px 16px;animation:mapCardSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes mapCardSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.map-card-close-btn{position:absolute;top:10px;right:10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease}.map-card-close-btn:hover{background:#e2e8f0;color:var(--color-text-primary)}.map-card-badge-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-right:28px}.map-card-area-text{font-size:.76rem;color:var(--color-primary);font-weight:600;text-transform:capitalize}.map-card-name{font-size:.98rem;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;line-height:1.3}.map-card-proprietor-text{font-size:.78rem;color:var(--color-text-primary);margin-bottom:4px}.map-card-address-text{font-size:.78rem;color:var(--color-text-secondary);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-card-actions-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.map-action-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-primary);transition:all .15s ease}.map-action-btn:hover{background:var(--color-surface);border-color:var(--color-border-hover)}.map-action-btn.btn-call{background:#f4f4f5;color:var(--color-text-primary);border-color:#e4e4e7}.map-action-btn.btn-call:hover{background:#e4e4e7}.map-action-btn.btn-email{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.map-action-btn.btn-email:hover{background:#dcfce7}.map-action-btn.btn-web{background:#f8fafc;color:#0284c7;border-color:#bae6fd}.map-action-btn.btn-web:hover{background:#e0f2fe}.map-action-btn.btn-list-view{margin-left:auto;background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.map-action-btn.btn-list-view:hover{background:var(--color-primary-hover)}.mobile-view-toggle-bar{display:none}@media(max-width:1024px){.app-layout{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.main-content{flex:1;position:relative;overflow:hidden}.portal-split-view{width:100%;height:100%;position:relative;overflow:hidden}.list-panel{width:100%!important;height:100%!important;flex:1 1 100%!important;border-right:none}.list-panel.mobile-hidden{display:none!important}.list-panel.mobile-active{display:flex!important}.map-panel{width:100%!important;height:100%!important;flex:1 1 100%!important;border-right:none}.map-panel.mobile-hidden{display:none!important}.map-panel.mobile-active{display:flex!important}.stay-cards-container{padding-bottom:84px}.mobile-view-toggle-bar{display:flex;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:1200;gap:4px;background:#0f172aeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:9999px;padding:5px 6px;box-shadow:0 8px 28px #00000061;border:1px solid rgba(255,255,255,.15)}.mobile-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:9999px;border:none;background:transparent;color:#cbd5e1;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.mobile-toggle-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 10px #00000059}.map-legend{bottom:80px;right:14px;left:auto}.list-scroll-top-btn{bottom:80px;right:16px}}@media(max-width:640px){.app-header{height:auto;padding:10px 14px;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.header-brand{gap:8px;min-width:0;flex:1}.brand-logo-img{height:36px}.brand-text{min-width:0}.app-title{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-subtitle{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:190px}.header-actions{gap:8px;flex-shrink:0}.header-stat{padding:4px 8px;gap:4px}.stat-value{font-size:.85rem}.stat-label{font-size:.68rem;display:none}.export-button{padding:6px 10px;font-size:.76rem;gap:5px}.filter-bar{padding:8px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.filter-bar-inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:max-content}.filter-bar-inner::-webkit-scrollbar{display:none}.filter-select,.custom-dropdown-trigger{width:auto;min-width:120px;padding:6px 10px;font-size:.8rem}.filter-divider{display:block;width:1px;height:22px;background-color:var(--color-border);flex-shrink:0}.category-pills{flex-wrap:nowrap;flex-shrink:0;gap:6px}.category-pill{padding:5px 10px;font-size:.76rem}.search-filter-group{flex-shrink:0;min-width:160px;max-width:200px}.stay-cards-container{padding:12px 14px 84px;gap:10px}.stay-card{padding:14px}.card-header{flex-direction:column;gap:6px}.card-header-tags{width:100%;justify-content:space-between}}.payment-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeInModal .2s ease-out}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.payment-modal-container{position:relative;background-color:var(--color-surface);border-radius:20px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #e2e8f0cc;width:100%;max-width:860px;max-height:90vh;overflow-y:auto;overflow-x:hidden;animation:scaleUpModal .25s cubic-bezier(.16,1,.3,1)}@keyframes scaleUpModal{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.payment-modal-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;background-color:#f1f5f9;border:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .15s ease}.payment-modal-close:hover{background-color:#e2e8f0;color:var(--color-text-primary);transform:rotate(90deg)}.payment-modal-body{display:grid;grid-template-columns:1.05fr 1fr;min-height:520px}.payment-overview-panel{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:32px 28px;border-right:1px solid var(--color-border);display:flex;flex-direction:column}.payment-badge-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background-color:#f4f4f5;color:var(--color-text-primary);border:1px solid #e4e4e7;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:20px;margin-bottom:12px;width:fit-content}.payment-heading{font-size:1.35rem;font-weight:800;color:var(--color-text-primary);line-height:1.25;margin-bottom:8px}.payment-subheading{font-size:.84rem;color:var(--color-text-secondary);line-height:1.45;margin-bottom:20px}.plan-selection-group{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.plan-card{border:2px solid var(--color-border);border-radius:12px;background-color:var(--color-surface);padding:12px 14px;cursor:pointer;transition:all .15s ease;position:relative}.plan-card:hover{border-color:#a1a1aa;transform:translateY(-1px)}.plan-card.active{border-color:var(--color-primary);background-color:#f4f4f5;box-shadow:0 4px 12px #00000014}.plan-radio-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.custom-radio{width:16px;height:16px;border-radius:50%;border:2px solid #94a3b8;display:flex;align-items:center;justify-content:center;flex-shrink:0}.plan-card.active .custom-radio{border-color:var(--color-primary)}.radio-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-primary)}.plan-name{font-size:.88rem;font-weight:700;color:var(--color-text-primary);flex:1}.plan-tag{font-size:.68rem;font-weight:700;padding:2px 7px;background-color:#e0e7ff;color:#4338ca;border-radius:12px;text-transform:uppercase}.plan-tag-best{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.plan-metric{font-size:.78rem;color:var(--color-text-secondary);margin-left:24px;margin-bottom:4px}.plan-pricing{display:flex;align-items:baseline;gap:8px;margin-left:24px}.plan-price{font-size:1.15rem;font-weight:800;color:#1e293b}.plan-original{font-size:.82rem;color:var(--color-text-muted);text-decoration:line-through}.plan-discount{font-size:.72rem;font-weight:700;color:#16a34a;background-color:#dcfce7;padding:1px 6px;border-radius:6px}.included-features-list{background-color:#ffffffb3;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.features-title{font-size:.78rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.04em}.feature-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--color-text-secondary)}.feature-check{color:#16a34a;flex-shrink:0}.security-guarantee{display:flex;align-items:center;gap:8px;margin-top:auto;font-size:.76rem;color:var(--color-text-secondary);font-weight:500}.shield-icon{color:var(--color-text-primary);flex-shrink:0}.payment-checkout-panel{padding:32px 28px;display:flex;flex-direction:column}.checkout-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.checkout-panel-header h3{font-size:1.05rem;font-weight:700;color:var(--color-text-primary)}.ssl-badge{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:#15803d;background-color:#dcfce7;padding:3px 8px;border-radius:12px}.qr-payment-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;margin-top:4px;box-shadow:var(--shadow-sm)}.qr-card-header{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--color-text-primary);margin-bottom:12px}.official-qr-box{display:flex;flex-direction:column;align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;box-shadow:0 2px 8px #0000000d}.official-qr-image{width:175px;height:175px;object-fit:contain;border-radius:6px}.qr-scan-badge{font-size:.68rem;font-weight:600;color:#64748b;margin-top:6px;text-align:center}.upi-id-box{width:100%;display:flex;align-items:center;justify-content:space-between;background-color:#f8fafc;border:1px solid var(--color-border);border-radius:10px;padding:8px 12px;margin-top:12px;gap:8px}.upi-id-details{display:flex;flex-direction:column;overflow:hidden}.upi-id-label{font-size:.68rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.upi-id-value{font-size:.84rem;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-copy-upi{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background-color:#fff;border:1px solid var(--color-border);border-radius:6px;font-size:.74rem;font-weight:700;color:#334155;cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-copy-upi:hover{background-color:#f1f5f9;border-color:#cbd5e1}.btn-copy-upi.copied{background-color:#dcfce7;border-color:#86efac;color:#15803d}.verification-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.form-instruction-text{font-size:.8rem;color:var(--color-text-secondary);line-height:1.45;background-color:#f4f4f5;border:1px solid #e4e4e7;padding:10px 12px;border-radius:8px}.form-error-banner{display:flex;align-items:center;gap:6px;padding:8px 10px;background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.76rem;font-weight:600;border-radius:6px}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:.76rem;font-weight:600;color:var(--color-text-secondary)}.form-input{width:100%;padding:9px 12px;font-size:.86rem;border:1px solid var(--color-border);border-radius:8px;background-color:#f8fafc;outline:none;transition:border-color .15s ease}.form-input:focus{border-color:var(--color-primary);background-color:var(--color-surface)}.btn-primary-pay{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#09090b,#27272a);color:#fff;border:none;padding:12px 18px;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .15s ease;margin-top:4px}.btn-primary-pay:hover:not(:disabled){background:linear-gradient(135deg,#27272a,#3f3f46);box-shadow:0 6px 16px #0000004d;transform:translateY(-1px)}.submitted-status-box{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.submitted-badge{display:inline-flex;align-items:center;gap:6px;color:#15803d;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.clock-icon{color:#16a34a}.submitted-title{font-size:1.05rem;font-weight:800;color:#14532d;line-height:1.25}.submitted-desc{font-size:.8rem;color:#166534;line-height:1.45}.submitted-summary-card{background-color:#fff;border:1px solid #dcfce7;border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:4px;font-size:.78rem;margin:4px 0}.summary-line{display:flex;justify-content:space-between;color:#475569}.summary-line strong{color:#0f172a}.btn-whatsapp-notify{display:flex;align-items:center;justify-content:center;gap:8px;background-color:#25d366;color:#fff;padding:10px 14px;border-radius:8px;font-size:.84rem;font-weight:700;text-decoration:none;box-shadow:0 3px 10px #25d36640;transition:all .15s ease}.btn-whatsapp-notify:hover{background-color:#22c55e;transform:translateY(-1px)}.btn-link-reedit{background:none;border:none;color:#64748b;font-size:.72rem;text-decoration:underline;cursor:pointer;align-self:center;padding:4px}.admin-unlock-section{background-color:#f8fafc;border:1px solid var(--color-border);border-radius:12px;padding:14px;margin-top:8px;display:flex;flex-direction:column;gap:8px}.admin-unlock-header{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--color-text-primary)}.key-icon{color:#d97706}.admin-unlock-subtext{font-size:.76rem;color:var(--color-text-secondary);line-height:1.4}.passcode-error-msg{display:flex;align-items:center;gap:4px;color:#dc2626;font-size:.74rem;font-weight:600}.passcode-input-row{display:flex;gap:8px}.passcode-input{flex:1;padding:9px 12px;font-size:.84rem;font-weight:700;letter-spacing:.04em;border:1px solid var(--color-border);border-radius:8px;background-color:#fff;outline:none;text-transform:uppercase}.passcode-input:focus{border-color:#d97706}.btn-verify-passcode{padding:9px 14px;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 6px #d9770640;transition:all .15s ease}.btn-verify-passcode:hover{background:linear-gradient(135deg,#b45309,#92400e)}.admin-footer-area{display:flex;flex-direction:column;align-items:center;margin-top:12px}.admin-toggle-link{background:none;border:none;display:flex;align-items:center;gap:4px;font-size:.7rem;color:#94a3b8;cursor:pointer;padding:4px;transition:color .15s ease}.admin-toggle-link:hover{color:#475569}.admin-quick-box{margin-top:6px;background-color:#f1f5f9;border:1px dashed #cbd5e1;border-radius:6px;padding:6px 10px;font-size:.72rem;display:flex;align-items:center;gap:6px}.admin-quick-hint{color:#64748b}.admin-code-pill{background-color:#e2e8f0;padding:2px 6px;border-radius:4px;font-weight:700;color:#1e293b;cursor:pointer}.admin-code-pill:hover{background-color:#cbd5e1}.payment-success-screen{padding:40px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:fadeInModal .3s ease-out}.success-icon-badge{width:72px;height:72px;border-radius:50%;background-color:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 20px #16a34a33}.success-title{font-size:1.45rem;font-weight:800;color:var(--color-text-primary);margin-bottom:6px}.success-subtitle{font-size:.88rem;color:var(--color-text-secondary);max-width:440px;line-height:1.45;margin-bottom:24px}.success-details-card{width:100%;max-width:440px;background-color:#f8fafc;border:1px solid var(--color-border);border-radius:12px;padding:16px 20px;margin-bottom:24px;text-align:left}.success-detail-row{display:flex;justify-content:space-between;font-size:.84rem;color:var(--color-text-secondary);padding:6px 0;border-bottom:1px solid #f1f5f9}.success-detail-row:last-child{border-bottom:none}.success-detail-row strong{color:var(--color-text-primary)}.success-actions{display:flex;gap:12px;width:100%;max-width:440px}.btn-download-again{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #16a34a40;transition:all .15s ease}.btn-download-again:hover:not(:disabled){background:linear-gradient(135deg,#15803d,#166534)}.btn-download-again:disabled{opacity:.7;cursor:not-allowed}.btn-done{padding:12px 20px;background-color:#f1f5f9;border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.btn-done:hover{background-color:#e2e8f0}@media(max-width:768px){.payment-modal-backdrop{padding:0;align-items:flex-end}.payment-modal-container{max-width:100%;border-radius:24px 24px 0 0;max-height:94vh;animation:slideUpMobile .28s cubic-bezier(.16,1,.3,1)}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.payment-modal-close{top:12px;right:14px;width:32px;height:32px}.payment-modal-body{grid-template-columns:1fr;min-height:auto}.payment-overview-panel{padding:24px 16px 16px;border-right:none;border-bottom:1px solid var(--color-border)}.payment-heading{font-size:1.2rem}.payment-subheading{font-size:.8rem;margin-bottom:14px}.plan-card{padding:10px 12px}.payment-checkout-panel{padding:20px 16px 28px}.passcode-input-row{flex-direction:column}.btn-verify-passcode{width:100%}.success-actions{flex-direction:column}}
