:root{--bg: #ffffff;--bg-page: #f8f9fa;--bg-secondary: #fafafa;--bg-tertiary: #f3f4f6;--bg-hover: #f5f6f8;--border: #e5e7eb;--border-light: #f0f1f3;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #9ca3af;--text-placeholder: #c9cdd4;--accent: #005B41;--accent-hover: #004a35;--accent-light: #e8f5ef;--accent-subtle: #f0fdf4;--danger: #ef4444;--danger-light: #fef2f2;--danger-hover: #dc2626;--warning: #f59e0b;--warning-light: #fffbeb;--success: #10b981;--success-light: #ecfdf5;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .04);--transition-fast: .12s ease;--transition: .18s ease;--sidebar-width: 240px;--sidebar-collapsed-width: 72px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-primary);background:var(--bg-page);line-height:1.55;min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;-webkit-touch-callout:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-layout{display:flex;min-height:100vh;min-height:100dvh;background:url(/bg2.png) no-repeat center center fixed;background-size:cover;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.main-content{flex:1;margin-left:var(--sidebar-width);padding:32px 40px;max-width:1200px;transition:margin-left .24s cubic-bezier(.4,0,.2,1)}.app-layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-title{font-size:1.6rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-subtitle{font-size:.93rem;color:var(--text-muted);margin-top:4px}.card{background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-lg);padding:24px;box-shadow:0 4px 14px #0000000a;transition:box-shadow var(--transition)}.card:hover{box-shadow:0 8px 20px #0000000f}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.property-card{background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #00000008;transition:box-shadow var(--transition),transform var(--transition)}.property-card:hover{box-shadow:0 10px 24px -4px #00000014;transform:translateY(-2px)}.property-card-image{width:100%;height:180px;object-fit:cover;background:var(--bg-tertiary)}.property-card-image-placeholder{width:100%;height:180px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.property-card-body{padding:16px 18px}.property-card-name{font-weight:600;font-size:1.05rem;margin-bottom:4px;color:var(--text-primary)}.property-card-location{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-bottom:10px}.property-card-footer{display:flex;align-items:center;justify-content:space-between}.property-card-price{font-weight:600;font-size:1rem;color:var(--accent)}.property-card-badge{background:var(--accent-light);color:var(--accent);font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:.93rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;line-height:1}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--bg);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:#d1d5db}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-danger:hover{background:#fee2e2;color:var(--danger-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:6px 14px;font-size:.82rem}.btn-icon{width:34px;height:34px;padding:0;border-radius:var(--radius-sm)}.form-section{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}.form-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.form-section-header:hover{background:var(--bg-secondary)}.form-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.form-section-toggle{color:var(--text-muted);transition:transform var(--transition)}.form-section-toggle.open{transform:rotate(180deg)}.form-section-body{padding:0 22px 22px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group-full{grid-column:1 / -1}.form-label{font-size:.82rem;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.form-input,.form-textarea,.form-select{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.93rem;font-family:inherit;color:var(--text-primary);background:var(--bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-placeholder)}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.form-checkbox-row{display:flex;align-items:center;gap:8px;padding-top:8px}.form-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form-hint{font-size:.78rem;color:var(--text-muted);margin-top:2px}.form-divider{height:1px;background:var(--border-light);margin:20px 0}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 0;position:sticky;bottom:0;background:var(--bg-page);z-index:10}.image-uploader-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.image-uploader-item{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-light);background:var(--bg-secondary)}.image-uploader-item img{width:100%;height:100%;object-fit:cover}.image-uploader-item-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-fast);border:none;font-size:12px}.image-uploader-item:hover .image-uploader-item-remove{opacity:1}.image-uploader-dropzone{aspect-ratio:4 / 3;border:2px dashed var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--text-muted);font-size:.82rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.image-uploader-dropzone:hover,.image-uploader-dropzone.drag-over{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.image-uploader-dropzone-icon{width:28px;height:28px;opacity:.5}.single-image-upload{width:120px;height:90px;border-radius:var(--radius-md);overflow:hidden;position:relative;border:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0}.single-image-upload img{width:100%;height:100%;object-fit:cover}.single-image-upload-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--text-muted);font-size:.72rem;transition:color var(--transition-fast),background var(--transition-fast)}.single-image-upload-placeholder:hover{background:var(--accent-subtle);color:var(--accent)}.room-item{display:flex;gap:16px;padding:16px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);align-items:flex-start}.room-item-fields{flex:1;display:flex;flex-direction:column;gap:10px}.room-item-actions{display:flex;align-items:flex-start;gap:4px;padding-top:2px}.list-editor-items{display:flex;flex-direction:column;gap:8px}.list-editor-row{display:flex;align-items:center;gap:8px}.list-editor-row .form-input{flex:1}.attraction-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:center}.highlight-row{display:grid;grid-template-columns:120px 1fr 2fr auto;gap:8px;align-items:center}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(#ffffff14,#0000001f),url(/bg.png) no-repeat center center;background-size:cover;padding:20px}.login-card{width:100%;max-width:410px;background:linear-gradient(135deg,#ffffff85,#ffffff38);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.85);border-left:1px solid rgba(255,255,255,.75);border-radius:var(--radius-xl);padding:42px 36px;box-shadow:0 24px 50px -10px #00000038,0 10px 20px -5px #0000001a,inset 0 1px 1px #ffffffbf,inset 0 -1px 2px #fff3;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:45%;background:linear-gradient(180deg,#ffffff59,#fff0);pointer-events:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.login-logo{text-align:center;margin-bottom:28px;position:relative;z-index:1}.login-logo-img{height:64px;max-width:200px;width:auto;object-fit:contain;margin:0 auto 8px;display:block;filter:brightness(0)}.login-logo-text{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em}.login-logo-sub{font-size:.8rem;color:#4b5563;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:18px;position:relative;z-index:1}.login-card .form-label{color:#1f2937;font-weight:600;font-size:.88rem}.login-card .form-input{background:#ffffffa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 2px #0000000a;transition:all var(--transition-fast)}.login-card .form-input:focus{background:#ffffffeb;border-color:var(--accent);box-shadow:0 0 0 3px #005b4126,inset 0 1px 2px #00000005}.login-btn{width:100%;padding:12px;margin-top:6px;box-shadow:0 4px 14px #005b414d;transition:all var(--transition-fast)}.login-btn:hover:not(:disabled){box-shadow:0 6px 18px #005b4166;transform:translateY(-1px)}.login-error{background:var(--danger-light);color:var(--danger);padding:10px 14px;border-radius:var(--radius-md);font-size:.85rem;text-align:center}.sidebar{width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;background:linear-gradient(180deg,#ffffffb8,#ffffff7a);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-right:1px solid rgba(255,255,255,.85);box-shadow:4px 0 24px #00000008;display:flex;flex-direction:column;z-index:100;transition:width .24s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{padding:16px 14px 14px;border-bottom:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background var(--transition-fast)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:16px 8px}.sidebar-toggle-btn{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:#fff9;border:1px solid rgba(255,255,255,.85);box-shadow:0 1px 2px #0000000a;transition:all var(--transition-fast);cursor:pointer;flex-shrink:0}.sidebar-toggle-btn:hover{background:#fff;color:var(--text-primary);border-color:#005b414d;box-shadow:0 2px 5px #00000014}.sidebar-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;overflow:hidden}.sidebar-logo-img{height:40px;max-width:135px;width:auto;object-fit:contain;display:block;filter:brightness(0);transition:transform var(--transition)}.sidebar-header:hover .sidebar-logo-img{transform:scale(1.02)}.sidebar-logo-sub{font-size:.72rem;color:var(--text-muted);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-top:2px;white-space:nowrap}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent;white-space:nowrap}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px 0;gap:0}.sidebar.collapsed .sidebar-divider{margin:8px}.sidebar-link:hover{background:#ffffffb3;color:var(--text-primary);border-color:#ffffffe6;box-shadow:0 1px 3px #00000008}.sidebar-link.active{background:#005b411f;color:#005b41;font-weight:600;border-color:#005b4133;box-shadow:0 1px 4px #005b4114}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.sidebar-divider{height:1px;background:#ffffffb3;margin:8px 12px}.sidebar-footer{padding:12px 10px 16px;border-top:1px solid rgba(255,255,255,.6)}.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:#ffffffe0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:0 2px 6px #00000008;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.stat-card.stat-card-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.stat-card.stat-card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#cbd5e1}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.stat-card-icon-box{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-label{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.stat-card-value{font-size:1.7rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.loading-state{display:flex;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-muted);font-size:.93rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);text-align:center}.empty-state-icon{width:48px;height:48px;margin-bottom:16px;opacity:.35}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:var(--radius-md);font-size:.88rem;font-weight:500;box-shadow:var(--shadow-lg);z-index:1000;animation:slideUp .3s ease}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner-dark{border-color:var(--border);border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.upload-progress{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;border-radius:inherit}@media(min-width:769px){.mobile-header,.sidebar-backdrop,.mobile-only{display:none!important}}@media(max-width:768px){.desktop-only{display:none!important}.mobile-header{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:60px;padding:0 16px;background:linear-gradient(180deg,#ffffffd9,#ffffffb3);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.8);box-shadow:0 2px 12px #0000000a;z-index:95}.mobile-header-btn{width:38px;height:38px;border-radius:var(--radius-md);background:#ffffffb3;border:1px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.mobile-header-btn:hover{background:#fff;box-shadow:0 2px 6px #0000000f}.mobile-header-brand{display:flex;align-items:center;gap:8px;cursor:pointer}.mobile-header-logo{height:32px;width:auto;object-fit:contain;filter:brightness(0)}.mobile-header-badge{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:var(--radius-sm)}.mobile-header-add{background:var(--accent);border-color:var(--accent);color:#fff}.mobile-header-add:hover{background:var(--accent-hover);color:#fff}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:150}.sidebar{width:275px!important;max-width:82vw;height:100vh;height:100dvh;position:fixed;top:0;left:0;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:none;z-index:200;background:linear-gradient(180deg,#ffffffeb,#ffffffd9)!important;backdrop-filter:blur(28px) saturate(180%)!important;-webkit-backdrop-filter:blur(28px) saturate(180%)!important}.sidebar.mobile-open{transform:translate(0);box-shadow:12px 0 40px #0003}.sidebar.collapsed{width:275px!important}.sidebar.collapsed .sidebar-brand{display:flex!important}.sidebar.collapsed .sidebar-link-text{display:inline!important}.sidebar.collapsed .sidebar-link{justify-content:flex-start!important;padding:11px 14px!important;gap:12px!important}.sidebar.collapsed .sidebar-header{justify-content:space-between!important;padding:16px 14px 14px!important}.sidebar-mobile-close{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:#fff9;border:1px solid rgba(255,255,255,.85);color:var(--text-secondary);cursor:pointer}.sidebar-mobile-close:hover{background:#fff;color:var(--text-primary)}.main-content{margin-left:0!important;padding:76px 14px 40px!important;width:100%!important;max-width:100vw!important;box-sizing:border-box;overflow-x:hidden}.page-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.page-title{font-size:1.4rem}.page-subtitle{font-size:.85rem}.page-header .btn{width:100%;justify-content:center;height:42px}.stats-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.stat-card{padding:14px 12px}.stat-card-label{font-size:.72rem;margin-bottom:4px}.stat-card-value{font-size:1.45rem}.card-grid{grid-template-columns:1fr;gap:16px}.card{padding:18px 16px;border-radius:var(--radius-md)}.property-card-body{padding:14px}.property-card-image,.property-card-image-placeholder{height:190px}.property-card-footer{flex-wrap:wrap;gap:8px}.property-card-price{font-size:.95rem}.form-grid,.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr!important;gap:12px}.form-input,.form-textarea,.form-select{font-size:16px!important;padding:10px 12px}.form-actions{flex-direction:column;gap:10px;width:100%}.form-actions .btn{width:100%;justify-content:center;height:44px}.highlight-row,.attraction-row{grid-template-columns:1fr!important;gap:8px;padding:12px;background:#ffffffbf;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.9);margin-bottom:8px}.all-homestays-toolbar{flex-direction:column;align-items:stretch}}@media(max-width:390px){.stats-row{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px 10px}.stat-card-value{font-size:1.3rem}.main-content{padding:72px 10px 36px!important}}
