:root{--saffron:#e67e22;--saffron-dark:#c45c00;--saffron-light:#fef3e6;--text:#2c2416;--text-muted:#6b5d4f;--bg:#faf8f5;--surface:#ffffff;--border:#e8e0d4;--code-bg:#f3ede4;--danger:#b91c1c;--danger-bg:#fef2f2;--success:#15803d;--success-bg:#f0fdf4;--shadow-sm:0 1px 2px rgba(44,36,22,0.06);--shadow-md:0 4px 16px rgba(44,36,22,0.08);--radius:12px;--radius-sm:8px;font-family:DM Sans,system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}#root,body{min-height:100vh}a{color:var(--saffron-dark)}a:hover{color:var(--saffron)}code{font-family:ui-monospace,Consolas,monospace}:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.app{min-height:100vh;display:flex;flex-direction:column}.app-auth,.app-centered{justify-content:center}.app-auth{min-height:100vh;display:flex;align-items:center;background:var(--bg)}.auth-shell{width:100%;max-width:720px;padding:2rem 1.25rem}.auth-card{display:flex;flex-direction:row;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.auth-card-aside{flex:0 0 240px;display:flex;flex-direction:column;justify-content:center;gap:.75rem;padding:2rem 1.75rem;background:linear-gradient(160deg,var(--saffron-light) 0,#fdebd0 100%);border-right:1px solid #f0d4b0}.auth-aside-tagline{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.45}.auth-panel{flex:1 1;min-width:0;padding:1.75rem}.auth-panel .access-denied,.auth-panel .login-form{background:transparent;border:none;box-shadow:none;padding:0}.auth-panel .access-denied{text-align:left}.auth-card-aside .brand-mark{height:40px;max-width:160px}@media (max-width:560px){.auth-card{flex-direction:column}.auth-card-aside{flex:none;border-right:none;border-bottom:1px solid #f0d4b0;padding:1.5rem;align-items:center;text-align:center}.auth-panel{padding:1.5rem}}.brand-stacked{flex-direction:column;align-items:center;gap:.625rem;text-align:center}.brand-stacked .brand-mark{width:48px;height:48px;border-radius:10px}.brand-stacked h1{font-size:1.5rem}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);padding:.5rem 1.25rem}.header-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;max-width:1200px;margin:0 auto;min-height:2.25rem}.header-row-narrow{max-width:480px}.brand{display:flex;align-items:center;gap:.5rem}.brand-mark{flex-shrink:0;width:auto;height:32px;max-width:140px;border-radius:6px;object-fit:contain}.brand h1{font-family:Plus Jakarta Sans,DM Sans,system-ui,sans-serif;font-size:1.125rem;font-weight:700;letter-spacing:-.025em;margin:0;color:var(--saffron-dark);line-height:1}.app-header>p,.brand p{color:var(--text-muted);margin:0;font-size:.875rem}.page-content{flex:1 1;padding:2rem 1.5rem 3rem;max-width:1200px;width:100%;margin:0 auto}.page-content-narrow{max-width:480px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start}.dashboard-sidebar{position:-webkit-sticky;position:sticky;top:calc(3.25rem + 1rem);align-self:start;max-height:calc(100vh - 4.25rem);overflow-y:auto;overscroll-behavior:contain}.dashboard-sidebar .hotel-list,.dashboard-sidebar .temple-list{margin:0;padding:1rem}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-sidebar{position:static;max-height:none;overflow:visible}}.edit-banner{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--saffron-light);border:1px solid #f5d5a8;border-radius:var(--radius-sm);font-size:.9rem}.edit-banner strong{color:var(--saffron-dark)}.setup-banner{padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.setup-banner h2{margin-top:0;font-family:Playfair Display,Georgia,serif}.setup-banner ol{padding-left:1.25rem;line-height:1.8}.setup-banner code{background:var(--code-bg);padding:.15rem .4rem;border-radius:4px;font-size:.9em}.hotel-form,.hotel-list,.login-form,.panel,.temple-form,.temple-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.hotel-form,.temple-form{display:flex;flex-direction:column;gap:1.5rem}.hotel-form h2,.hotel-list h2,.login-form h2,.temple-form h2,.temple-list h2{margin:0;font-size:1.125rem;font-weight:600}.form-section{display:flex;flex-direction:column;gap:1rem}.form-section-nested{background:var(--bg);border-radius:var(--radius-sm);padding:1rem}.form-section-title{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-bottom:.625rem;border-bottom:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.field-label{font-size:.8125rem;font-weight:500;color:var(--text);line-height:1.3}.field-required{color:var(--saffron-dark)}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.btn-ai-generate{flex-shrink:0;padding:.25rem .65rem;border:1px solid var(--saffron);border-radius:999px;background:var(--saffron-light);color:var(--saffron-dark);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-ai-generate:hover:not(:disabled){background:#fdebd0}.btn-ai-generate:disabled{opacity:.55;cursor:not-allowed}.input-description{min-height:14rem;line-height:1.55}.tag-select{display:flex;flex-wrap:wrap;gap:.35rem}.tag-select-btn{padding:.3rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-muted);font:inherit;font-size:.75rem;cursor:pointer}.tag-select-btn.active{background:var(--saffron-light);border-color:var(--saffron);color:var(--saffron-dark);font-weight:500}.string-list-input{display:flex;flex-direction:column;gap:.5rem}.string-list-row{display:flex;flex-direction:column;gap:.25rem}.deity-meta{font-style:italic}.field-grid{display:grid;grid-gap:1rem;gap:1rem}.field-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.input-unit-group{display:flex;gap:.5rem}.input-unit-group .input{flex:1 1 auto;min-width:0}.input-unit-group .input-unit-select{flex:0 0 auto;width:4.75rem}.checkbox-field{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--text);cursor:pointer}.checkbox-field input{width:1rem;height:1rem;accent-color:var(--saffron)}.hotel-form input[type=number],.hotel-form input[type=tel],.hotel-form input[type=text],.hotel-form input[type=url],.hotel-form select,.hotel-form textarea,.input,.login-form input,.search-input,.temple-form input[type=email],.temple-form input[type=number],.temple-form input[type=password],.temple-form input[type=tel],.temple-form input[type=text],.temple-form input[type=url],.temple-form select,.temple-form textarea{display:block;width:100%;padding:.625rem .75rem;border:1px solid #ddd5c8;border-radius:var(--radius-sm);font:inherit;font-size:.9375rem;line-height:1.4;background:var(--surface);color:var(--text);box-sizing:border-box;min-height:2.625rem;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.hotel-form input::placeholder,.hotel-form textarea::placeholder,.input::placeholder,.login-form input::placeholder,.temple-form input::placeholder,.temple-form textarea::placeholder{color:#a89888}.hotel-form textarea,.input-textarea,.temple-form textarea{min-height:auto;resize:vertical}.hotel-form input:focus-visible,.hotel-form select:focus-visible,.hotel-form textarea:focus-visible,.input:focus-visible,.login-form input:focus-visible,.search-input:focus-visible,.temple-form input:focus-visible,.temple-form select:focus-visible,.temple-form textarea:focus-visible{border-color:var(--saffron);box-shadow:0 0 0 3px rgba(230,126,34,.12);outline:none}.hint{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-muted)}.form-error{padding:.75rem;margin:0 0 1rem;font-size:.9rem}.field-error,.form-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm)}.field-error{padding:.5rem .625rem;margin:.5rem 0 0;font-size:.85rem}.file-upload{margin-top:.35rem}.file-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.file-upload-trigger{display:inline-flex;align-items:center;padding:.55rem 1rem;border:1px dashed var(--saffron);border-radius:var(--radius-sm);background:var(--saffron-light);color:var(--saffron-dark);font:inherit;font-weight:500;cursor:pointer;transition:background .15s}.file-upload-trigger:hover:not(:disabled){background:#fdebd0}.file-upload-trigger:disabled{opacity:.6;cursor:not-allowed}.image-preview-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.image-preview{position:relative;width:80px}.image-preview img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.image-preview button{display:block;width:100%;margin-top:.25rem;font-size:.7rem;padding:.2rem;border:none;background:var(--danger-bg);color:var(--danger);border-radius:4px;cursor:pointer}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.form-actions-error{width:100%;margin:0}.btn-danger,.btn-primary,.btn-secondary{padding:.6rem 1.25rem;border-radius:var(--radius-sm);font:inherit;font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s}.btn-primary{background:var(--saffron);color:white}.btn-primary:hover:not(:disabled){background:var(--saffron-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}a.btn-primary{display:inline-block;text-align:center}a.btn-primary,a.btn-primary:hover{text-decoration:none;color:white}.btn-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--code-bg)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.status{color:var(--text-muted)}.status.error{color:var(--danger)}.status.center{text-align:center;padding:4rem 1rem}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.dashboard-sidebar .list-toolbar{margin-bottom:.5rem}.dashboard-sidebar .search-input{max-width:none;min-width:0;min-height:1.85rem;padding:.25rem .5rem;font-size:.8rem}.search-input{margin-top:0;max-width:280px;flex:1 1;min-width:180px}.temple-count{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.temple-count,.temple-filter-bar{margin-bottom:.75rem}.temple-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.filter-select-inline{flex:1 1 auto;min-width:5.5rem;max-width:8.5rem;min-height:1.85rem;padding:.25rem .4rem;font-size:.78rem}.filter-clear{flex-shrink:0;padding:.2rem .35rem;border:none;background:none;color:var(--text-muted);font:inherit;font-size:.75rem;cursor:pointer;white-space:nowrap}.filter-clear:hover{color:var(--saffron)}.section-hint{margin:-.25rem 0 1rem;font-size:.85rem;color:var(--text-muted)}.category-tags{margin-top:.35rem}.tag-category{background:var(--saffron-light);color:var(--saffron-dark);border:1px solid #f0d4b0}.hotel-list ul,.temple-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.dashboard-sidebar .temple-list ul{gap:.35rem}.hotel-list .temple-card,.temple-list .temple-card{display:flex;flex-direction:row;align-items:center;gap:1rem;border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;background:var(--bg);transition:border-color .15s,box-shadow .15s}.temple-card-compact{gap:.5rem;padding:.4rem .5rem .4rem .65rem;border-radius:var(--radius-sm)}.temple-card-name{flex:1 1;min-width:0;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-compact{padding:.25rem .5rem;font-size:.75rem;min-height:1.75rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);text-decoration:none;transition:color .15s,border-color .15s,background .15s}.btn-icon:hover{color:var(--saffron-dark);border-color:#dccfb8;background:var(--saffron-light)}.hotel-list .temple-card:hover,.temple-list .temple-card:hover{border-color:#dccfb8;box-shadow:var(--shadow-sm)}.hotel-list .temple-card-body,.temple-list .temple-card-body{flex:1 1;min-width:0}.temple-thumb{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.temple-thumb.placeholder{display:flex;align-items:center;justify-content:center;background:var(--code-bg);font-size:1.5rem}.temple-card h3{margin:0 0 .15rem;font-size:1rem}.temple-card .meta{margin:0;font-size:.8rem;color:var(--text-muted)}.temple-card .description{margin:.35rem 0 0;font-size:.875rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.tag{font-size:.75rem;padding:.2rem .5rem;background:var(--saffron-light);color:var(--saffron-dark);border-radius:999px}.tag.muted{background:var(--code-bg);color:var(--text-muted)}.card-actions{display:flex;flex-shrink:0;flex-direction:column;gap:.5rem;margin-top:0}.card-actions.card-actions-inline{flex-direction:row;align-items:center;gap:.35rem}.header-actions{display:flex;align-items:center;gap:.5rem}.header-actions .btn-secondary{padding:.375rem .75rem;font-size:.8125rem}.admin-email{font-size:.8125rem;color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-form h2{margin:0 0 .25rem}.login-hint{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-muted)}.login-form{gap:1rem}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:.375rem;font-size:.8125rem;font-weight:500}.login-form .btn-primary{width:100%;margin-top:.5rem}.repeatable-row{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 0;border-bottom:1px solid var(--border)}.repeatable-row:last-of-type{border-bottom:none;padding-bottom:0}.row-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.btn-add{margin-top:.75rem;padding:.5rem 1rem;border:1px dashed var(--saffron);border-radius:var(--radius-sm);background:var(--saffron-light);color:var(--saffron-dark);font:inherit;font-weight:500;cursor:pointer}.btn-add:hover{background:#fdebd0}.location-select-field .btn-add{width:100%}.location-select-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.location-select-add-row .input{flex:1 1 10rem;min-width:0}.location-select-add-row .btn-secondary{flex-shrink:0}.location-select-cancel{padding:0;border:none;background:none;color:var(--text-muted);font:inherit;font-size:.85rem;cursor:pointer}.location-select-cancel:hover{color:var(--text)}.btn-text-danger{margin-top:.35rem;padding:0;border:none;background:none;color:var(--danger);font-size:.8rem;cursor:pointer}.btn-text-danger:hover{text-decoration:underline}.error-panel,.not-found{text-align:center;padding:3rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);max-width:420px;margin:0 auto}.error-panel h1,.not-found h1{font-family:Playfair Display,Georgia,serif;font-size:3rem;margin:0 0 .5rem;color:var(--saffron-dark)}.error-panel p,.not-found p{color:var(--text-muted);margin:0 0 1.5rem}.auth-panel .not-found-page{padding:0;background:transparent;border:none;box-shadow:none;max-width:none;margin:0}.not-found-icon{display:block;font-size:2.5rem;line-height:1;margin-bottom:.75rem;opacity:.85}.not-found-code{font-family:Playfair Display,Georgia,serif;font-size:4.5rem;font-weight:700;line-height:1;margin:0 0 .35rem;color:var(--saffron-dark);letter-spacing:-.03em}.not-found-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:var(--text)}.not-found-message{margin:0 0 1.5rem;color:var(--text-muted);line-height:1.55;font-size:.95rem}.auth-panel .not-found-page .btn-primary{width:100%}.empty-state{text-align:center;padding:2.5rem 1rem}.empty-state-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.empty-state h3{margin:0 0 .35rem;font-size:1rem}.empty-state p{margin:0;color:var(--text-muted);font-size:.9rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1rem;color:var(--text-muted)}.loading-spinner-inline{flex-direction:row;padding:1rem 0}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--saffron);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.skeleton-list{display:flex;flex-direction:column;gap:.75rem}.skeleton-card{height:120px;border-radius:10px;background:linear-gradient(90deg,var(--code-bg) 25%,#ebe4d8 50%,var(--code-bg) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-backdrop{position:fixed;inset:0;background:rgba(44,36,22,.45);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal{background:var(--surface);border-radius:var(--radius);padding:1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-md)}.modal h2{margin:0 0 .5rem;font-size:1.125rem}.modal p{margin:0 0 1.25rem;color:var(--text-muted);font-size:.9rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;z-index:1100;display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:.9rem;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0}.toast-error{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.toast-info{background:var(--surface);color:var(--text);border:1px solid var(--border)}.toast-dismiss{margin-left:auto;padding:0;border:none;background:none;font-size:1.25rem;line-height:1;cursor:pointer;opacity:.6;color:inherit}.toast-dismiss:hover{opacity:1}@media (max-width:700px){.field-grid-2,.field-grid-3{grid-template-columns:1fr}.header-row{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.admin-email{max-width:none;flex:1 1}.list-toolbar{flex-direction:column;align-items:stretch}.search-input{max-width:none}.temple-card:not(.temple-card-compact){flex-direction:column;align-items:stretch}.card-actions:not(.card-actions-inline){flex-direction:row;margin-top:.5rem}.toast-container{left:1rem;right:1rem;bottom:1rem}}.star-rating{display:inline-flex;align-items:center;gap:.1rem}.star-rating .star,.star-rating .star-btn{color:#d4d0c8;line-height:1}.star-rating .star-btn.filled,.star-rating .star.filled{color:var(--saffron)}.star-rating-sm .star,.star-rating-sm .star-btn{font-size:.95rem}.star-rating-md .star,.star-rating-md .star-btn{font-size:1.35rem}.star-rating-interactive .star-btn{border:none;background:none;padding:.1rem;cursor:pointer;transition:transform .1s}.star-rating-interactive .star-btn:hover{transform:scale(1.15)}.star-value{margin-left:.35rem;font-size:.85rem;font-weight:600;color:var(--text)}.temple-rating-inline{display:flex;align-items:center;gap:.35rem;margin-top:.2rem}.reviews-count{font-size:.75rem;color:var(--text-muted)}.reviews-none{margin-top:.15rem}.reviews-panel,.scrape-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.scrape-panel-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.scrape-panel-header h3{margin:0;font-size:1rem}.scrape-status{font-size:.8rem;color:var(--text-muted);margin:0 0 .75rem}.scrape-qa-list{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}.scrape-qa{border:1px solid var(--border);border-radius:8px;background:var(--bg)}.scrape-qa summary{cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem .65rem}.scrape-qa-answer{font-size:.78rem;color:var(--text-muted);white-space:pre-wrap;max-height:220px;overflow-y:auto;padding:0 .65rem .65rem;margin:0}.scrape-fill-btn{width:100%}.scrape-maps{border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:.5rem .65rem .65rem;margin-bottom:1rem}.scrape-maps-label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem}.scrape-maps-img{width:100%;border-radius:6px;display:block}.import-file-input{width:100%;font-size:.8rem;margin-bottom:.75rem}.import-job-list{display:flex;flex-direction:column;gap:.35rem;margin:0 0 1rem;padding:0;list-style:none;max-height:260px;overflow-y:auto}.import-job{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:.4rem .65rem;font-size:.8rem}.import-job-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-status{flex-shrink:0;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.import-status-queued{background:var(--code-bg,#f1f5f9);color:var(--text-muted)}.import-status-processing{background:#fef3c7;color:#92400e}.import-status-done{background:#dcfce7;color:#166534}.import-status-error{background:#fee2e2;color:#991b1b}.import-job-meta{margin-top:.5rem;margin-bottom:0}.draft-preview-banner{margin:0 0 1rem;padding:.6rem 1rem;border:1px solid #fde68a;border-radius:8px;font-size:.85rem}.draft-badge,.draft-preview-banner{background:#fef3c7;color:#92400e;font-weight:600}.draft-badge{flex-shrink:0;font-size:.7rem;padding:.15rem .5rem;border-radius:999px}.reviews-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.reviews-panel-header h3{margin:0;font-size:1rem}.reviews-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.reviews-panel-hint{font-size:.8rem;color:var(--text-muted);margin:0 0 1rem;word-break:break-all}.reviews-panel-hint code{font-size:.75rem;background:var(--code-bg);padding:.1rem .35rem;border-radius:4px}.reviews-empty{font-size:.9rem;color:var(--text-muted);margin:0}.reviews-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.review-card{padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.review-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.review-date{display:block;font-size:.75rem;color:var(--text-muted);font-weight:400}.review-text{margin:0 0 .5rem;font-size:.9rem;color:var(--text);line-height:1.5}.reviews-avg-footer{margin:.75rem 0 0;font-size:.85rem;color:var(--text-muted)}.review-page{width:100%}.review-page-title{margin:0 0 1.25rem;font-size:1.25rem;text-align:center}.review-form-intro{margin:0 0 1.25rem;text-align:center;color:var(--text-muted);font-size:.95rem}.review-form .form-field{display:block;margin-bottom:1rem}.review-form .field-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.35rem}.review-form input,.review-form textarea{display:block;width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--bg);box-sizing:border-box}.review-form .btn-primary{width:100%}.review-form .field-hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.review-success{text-align:center;padding:1.5rem 0}.review-success-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--success)}.review-page-footer{text-align:center;margin-top:1.5rem;font-size:.9rem}.review-page-subtitle{text-align:center;color:var(--text-muted);margin:-.75rem 0 1.25rem}.review-signed-in{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);margin-bottom:1rem;padding:.5rem .75rem;background:var(--code-bg);border-radius:var(--radius-sm)}.user-auth-panel{display:flex;flex-direction:column;gap:1rem}.user-auth-intro{text-align:center;color:var(--text-muted);margin:0}.btn-google{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.65rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-weight:500;cursor:pointer}.btn-google:hover:not(:disabled){background:var(--bg)}.btn-google-icon{flex-shrink:0;width:1.125rem;height:1.125rem}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.85rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.phone-input-row{display:flex;align-items:stretch;margin-top:.35rem}.phone-prefix{display:flex;align-items:center;padding:0 .75rem;background:var(--code-bg);border:1px solid var(--border);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-size:.9rem;color:var(--text-muted)}.phone-input-row input{flex:1 1;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-block,.btn-text{width:100%}.btn-text{display:block;margin-top:.5rem;padding:0;border:none;background:none;color:var(--saffron-dark);font:inherit;font-size:.85rem;cursor:pointer;text-align:center}.otp-sent-hint{font-size:.9rem;color:var(--text-muted);margin:0 0 .75rem}.input-readonly{background:var(--code-bg);color:var(--text-muted)}.access-denied{text-align:center}.access-denied h2{margin:0 0 .5rem}.access-denied p{color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.rating-display{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .5rem}.rating-display.rating-stacked{flex-direction:column;align-items:flex-start;gap:.15rem}.rating-none .rating-primary{font-size:.8rem;color:var(--text-muted)}.rating-none .rating-secondary{font-size:.75rem;color:var(--text-muted);font-style:italic}.rating-primary{font-size:.85rem;font-weight:600}.rating-secondary{font-size:.75rem;color:var(--text-muted)}.rating-review-link{font-size:.6875rem;font-weight:600;letter-spacing:.02em;padding:.2rem .55rem;border-radius:999px;background:var(--saffron-light);color:var(--saffron-dark);text-decoration:none;white-space:nowrap;border:1px solid rgb(230 126 34/.22);transition:background .15s ease,color .15s ease,border-color .15s ease}.rating-review-link:hover{background:var(--saffron);border-color:var(--saffron);color:#fff}.readonly-field{margin:0;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9375rem}.owner-dashboard{display:flex;flex-direction:column;gap:1.5rem}.owner-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.owner-title{margin:0 0 .25rem;font-size:1.25rem}.owner-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.owner-tab{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:.875rem;cursor:pointer}.owner-tab.active{background:var(--saffron-light);border-color:#f5d5a8;color:var(--saffron-dark);font-weight:600}.owner-stack{display:flex;flex-direction:column;gap:1.5rem}.earnings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));grid-gap:1rem;gap:1rem}.earnings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}.earnings-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:.35rem}.earnings-value{font-size:1.125rem;color:var(--saffron-dark)}.earnings-note{grid-column:1/-1;margin:0;font-size:.875rem;color:var(--text-muted)}.commission-comparison h3{margin-top:0}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table td,.data-table th{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.data-table .highlight-row{background:var(--saffron-light)}.data-table .highlight-row td{font-weight:600}.booking-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.booking-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.booking-card-header{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;border:none;background:none;font:inherit;text-align:left;cursor:pointer}.booking-card-header:hover{background:var(--bg)}.booking-card-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem}.booking-payout{font-weight:600;color:var(--saffron-dark)}.status-pill{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px}.status-paid{background:#e8f5e9;color:#2e7d32}.status-pending{background:#fff8e1;color:#f57f17}.status-failed,.status-refunded{background:var(--danger-bg);color:var(--danger)}.status-confirmed{background:#e8f5e9;color:#2e7d32}.status-cancelled{background:#eceff1;color:#546e7a}.status-completed{background:#e3f2fd;color:#1565c0}.status-no_show{background:var(--danger-bg);color:var(--danger)}.cancellation-policy-note{margin:0 0 1rem;font-size:.875rem;color:var(--text-muted)}.guest-transaction .total dd{color:var(--saffron-dark)}.my-bookings-page{width:100%;max-width:42rem}.booking-detail{padding:0 1rem 1rem;border-top:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0}.detail-grid h4,.payout-breakdown h4{margin:0 0 .35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.payout-breakdown dl{margin:0;display:grid;grid-gap:.35rem;gap:.35rem;max-width:24rem}.payout-breakdown dl div{display:flex;justify-content:space-between;gap:1rem}.payout-breakdown dt{color:var(--text-muted)}.payout-breakdown .deduction dd{color:var(--danger)}.payout-breakdown .total{margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--border);font-weight:600}.payout-breakdown .total dd{color:var(--saffron-dark)}.booking-notes{font-size:.875rem;color:var(--text-muted)}.bookings-panel{margin-bottom:1rem}.panel-nested{margin-top:1rem;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.panel-nested h4,.panel-nested h5{margin:0 0 .75rem;font-size:.95rem}.booking-form .form-section-title{font-size:.8rem;margin:0}.field-inline-action{display:flex;gap:.5rem;align-items:center}.field-inline-action .input{flex:1 1}.booking-preview{margin-top:.5rem}.booking-preview h5{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.booking-list.compact{margin-top:1rem}.booking-card.compact{border-radius:var(--radius-sm)}.booking-card-static{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.875rem 1rem}.booking-card-static .meta{display:block;font-size:.8rem;color:var(--text-muted)}.booking-form .form-actions{margin-top:1rem;padding-top:.75rem}.hotel-admin-shell{display:flex;flex-direction:column;gap:1.25rem}.hotel-admin-tabs{margin-bottom:.25rem}.admin-bookings.panel{margin:0}.admin-bookings-summary{margin:1rem 0}.hotel-link-btn{display:block;margin-top:.15rem;padding:0;text-align:left}.booking-detail-actions{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.75rem}.booking-card-header[role=button]{cursor:pointer}