/* Unified polish for the last legacy screens. Scoped by Flask endpoint so already-redesigned pages stay untouched. */
:root{
  --rp-primary:#4263eb;--rp-primary-2:#6c7cff;--rp-surface:#fff;--rp-soft:#f7f9fc;
  --rp-border:#e5eaf1;--rp-text:#182033;--rp-muted:#6f7a8d;--rp-shadow:0 18px 45px rgba(24,32,51,.08);
  --rp-radius:22px;--rp-radius-sm:14px;
}

/* exact remaining route families */
body:is(
[data-page="auth.login"],[data-page="auth.register"],[data-page="auth.forgot_password"],[data-page="auth.reset_password"],[data-page="auth.resend_verification"],
[data-page="admin.admin_dashboard"],[data-page="admin.payments_index"],[data-page="admin.invoices_index"],[data-page="admin.site_settings"],[data-page="admin.user_edit"],
[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.promotion_request_detail"],
[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"],[data-page="admin.upgrade_pricing"],
[data-page="admin.moderation_tour_viewer"],[data-page="messages.start"],[data-page="main.ai_search"],[data-page="property_public.virtual_tour_viewer"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"],[data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]
){background:linear-gradient(180deg,rgba(66,99,235,.025),transparent 420px),var(--bs-body-bg)}

/* Generic page cards/forms for remaining legacy endpoints */
body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"],[data-page="admin.upgrade_pricing"],
[data-page="messages.start"],[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"],
[data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]
) .card{
  border:1px solid var(--rp-border)!important;border-radius:var(--rp-radius)!important;background:var(--rp-surface);box-shadow:var(--rp-shadow)!important;overflow:hidden
}
body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"],[data-page="admin.upgrade_pricing"],
[data-page="messages.start"],[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]
) .card-body{padding:clamp(1.25rem,2.6vw,2rem)!important}

body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]
) .form-control,
body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]
) .form-select{
  min-height:48px;border-radius:12px;border-color:#dfe5ed;background-color:var(--rp-surface);box-shadow:none
}
body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]
) .form-control:focus,
body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]
) .form-select:focus{border-color:rgba(66,99,235,.58);box-shadow:0 0 0 .22rem rgba(66,99,235,.11)}

/* Authentication and error states */
body[data-page^="auth."] .auth-layout,body[data-page^="errors."] .auth-layout{min-height:min(720px,calc(100vh - 150px));display:grid;place-items:center;padding:2rem 1rem;position:relative}
body[data-page^="auth."] .auth-layout:before,body[data-page^="errors."] .auth-layout:before{content:"";position:absolute;inset:4% 8%;pointer-events:none;background:radial-gradient(circle at 82% 18%,rgba(66,99,235,.12),transparent 25%),radial-gradient(circle at 18% 82%,rgba(105,195,255,.12),transparent 24%)}
body[data-page^="auth."] .auth-card,body[data-page^="errors."] .auth-card{position:relative;width:min(100%,560px);padding:clamp(1.45rem,4vw,2.2rem);border:1px solid var(--rp-border);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 24px 65px rgba(24,32,51,.12);backdrop-filter:blur(12px)}
body[data-page="auth.register"] .auth-card{width:min(100%,720px)}
body[data-page^="auth."] .auth-card:before{content:"";display:block;width:52px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--rp-primary),var(--rp-primary-2));margin-bottom:1.3rem}
body[data-page^="auth."] .form-control{min-height:50px;border-radius:13px;border-color:#dfe5ed}
body[data-page^="auth."] .btn-primary{min-height:49px;border-radius:13px;font-weight:800;box-shadow:0 10px 25px rgba(66,99,235,.2)}
body[data-page^="errors."] .display-3{font-size:clamp(4rem,11vw,7rem);line-height:1;font-weight:900!important;letter-spacing:-.06em}

/* Admin dashboard */
body[data-page="admin.admin_dashboard"] .admin-dashboard{max-width:1440px;margin-inline:auto;padding-block:2rem!important}
body[data-page="admin.admin_dashboard"] .admin-dashboard>div:first-child{padding:1.35rem 1.5rem;border:1px solid var(--rp-border);border-radius:22px;background:radial-gradient(circle at 8% 20%,rgba(66,99,235,.1),transparent 30%),var(--rp-surface);box-shadow:var(--rp-shadow)}
body[data-page="admin.admin_dashboard"] .card{border:1px solid var(--rp-border)!important;border-radius:18px!important;box-shadow:0 9px 28px rgba(24,32,51,.055)!important;background:var(--rp-surface);overflow:hidden}
body[data-page="admin.admin_dashboard"] .card-body{padding:1.15rem}
body[data-page="admin.admin_dashboard"] .display-6{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.035em}
body[data-page="admin.admin_dashboard"] .table thead th{background:var(--rp-soft);color:var(--rp-muted);font-size:.78rem;font-weight:800;border-bottom-color:var(--rp-border)}
body[data-page="admin.admin_dashboard"] .table td{border-color:var(--rp-border)}

/* Payments and invoices lists */
body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .container{max-width:1320px}
body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .container>div:first-child{padding:1.25rem 1.4rem;border:1px solid var(--rp-border);border-radius:20px;background:var(--rp-surface);box-shadow:var(--rp-shadow)}
body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .card{border:1px solid var(--rp-border)!important;border-radius:20px!important;box-shadow:var(--rp-shadow)!important;overflow:hidden;background:var(--rp-surface)}
body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) table thead th{background:var(--rp-soft);color:var(--rp-muted);font-weight:850;font-size:.78rem;white-space:nowrap}
body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) table td{padding-block:.85rem;border-color:var(--rp-border)}
body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .btn{border-radius:10px;font-weight:700}

/* Invoice detail */
body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet{border:1px solid var(--rp-border)!important;border-radius:24px!important;box-shadow:0 20px 55px rgba(24,32,51,.1)!important;overflow:hidden;background:var(--rp-surface)}
body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet .card-body{padding:clamp(1.35rem,4vw,3rem)!important}
body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet code{padding:.28rem .55rem;border-radius:9px;background:var(--rp-soft);color:var(--rp-primary)}
body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet .table{border-color:var(--rp-border)}
body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet thead th,body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet tfoot th{background:var(--rp-soft)}

/* Site settings enhancement */
body[data-page="admin.site_settings"] .site-settings-page{max-width:1180px}
body[data-page="admin.site_settings"] .settings-header{border-radius:24px!important;box-shadow:var(--rp-shadow)!important}
body[data-page="admin.site_settings"] .settings-form-card{border-radius:22px!important;box-shadow:var(--rp-shadow)!important}
body[data-page="admin.site_settings"] .accordion-item{border-radius:17px!important;overflow:hidden;margin-bottom:.85rem;border:1px solid var(--rp-border)!important}
body[data-page="admin.site_settings"] .accordion-button{padding:1rem 1.15rem}
body[data-page="admin.site_settings"] .setting-box,body[data-page="admin.site_settings"] .switch-setting{border-radius:15px!important}

/* Detail/review admin pages */
body:is([data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"]) dl.row{margin:0}
body:is([data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"]) dl.row dt,
body:is([data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"]) dl.row dd{padding:.65rem .55rem;border-bottom:1px dashed var(--rp-border);margin-bottom:0}
body:is([data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.upgrade_request_detail"]) .alert{border-radius:14px}
body:is([data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.upgrade_request_detail"]) textarea{border-radius:12px}

/* Start message & reports */
body:is([data-page="messages.start"],[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]) .row.justify-content-center{padding-block:2rem}
body[data-page="messages.start"] .card:before,body:is([data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]) .card:before{content:"";height:5px;display:block;background:linear-gradient(90deg,var(--rp-primary),#78b7ff)}
body:is([data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]) .card:before{background:linear-gradient(90deg,#dc3545,#ff8a8a)}

/* AI search: refine existing special page */
body[data-page="main.ai_search"] .ai-search-page{max-width:1240px;margin-inline:auto;padding-inline:1rem}
body[data-page="main.ai_search"] .ai-search-hero{border:1px solid var(--rp-border);border-radius:28px!important;box-shadow:0 22px 60px rgba(24,32,51,.09);overflow:hidden;background:radial-gradient(circle at 88% 18%,rgba(66,99,235,.13),transparent 30%),var(--rp-surface)!important}
body[data-page="main.ai_search"] .ai-search-form{border-radius:19px!important;border:1px solid var(--rp-border)!important;background:var(--rp-soft)!important}
body[data-page="main.ai_search"] .ai-search-form textarea{background:transparent!important}
body[data-page="main.ai_search"] .ai-search-interpretation,body[data-page="main.ai_search"] .ai-search-results-head{border:1px solid var(--rp-border);border-radius:20px!important;background:var(--rp-surface);box-shadow:0 10px 30px rgba(24,32,51,.055)}
body[data-page="main.ai_search"] .ai-search-chip{border-radius:999px!important}

/* Virtual tour viewers */
body:is([data-page="property_public.virtual_tour_viewer"],[data-page="admin.moderation_tour_viewer"]) .container-fluid{max-width:1500px;margin-inline:auto;padding-top:1.25rem}
body:is([data-page="property_public.virtual_tour_viewer"],[data-page="admin.moderation_tour_viewer"]) .tour-viewer-shell{border-radius:24px!important;border:1px solid var(--rp-border);overflow:hidden;box-shadow:0 20px 55px rgba(0,0,0,.15)}
body:is([data-page="property_public.virtual_tour_viewer"],[data-page="admin.moderation_tour_viewer"]) .tour-viewer-toolbar{backdrop-filter:blur(12px)}
body:is([data-page="property_public.virtual_tour_viewer"],[data-page="admin.moderation_tour_viewer"]) .tour-scene-list{gap:.55rem}
body:is([data-page="property_public.virtual_tour_viewer"],[data-page="admin.moderation_tour_viewer"]) .tour-scene-button{border-radius:999px!important;padding-inline:.9rem}

/* Buttons */
body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.upgrade_request_detail"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]
) .btn{border-radius:11px;font-weight:750}

/* Dark mode */
[data-bs-theme="dark"]{
  --rp-surface:#121722;--rp-soft:#0f141d;--rp-border:#2b3342;--rp-text:#edf1f7;--rp-muted:#a9b3c4;--rp-shadow:0 18px 45px rgba(0,0,0,.25)
}
[data-bs-theme="dark"] body[data-page^="auth."] .auth-card,[data-bs-theme="dark"] body[data-page^="errors."] .auth-card{background:rgba(18,23,34,.95);border-color:var(--rp-border)}
[data-bs-theme="dark"] body:is(
[data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],
[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.promotion_request_detail"],[data-page="admin.report_detail"],[data-page="admin.report_property_preview"],[data-page="admin.upgrade_request_detail"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],
[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"],[data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]
) .card,[data-bs-theme="dark"] body[data-page="admin.admin_dashboard"] .card,[data-bs-theme="dark"] body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .card{background:var(--rp-surface);border-color:var(--rp-border)!important;color:var(--rp-text)}
[data-bs-theme="dark"] body[data-page="admin.admin_dashboard"] .admin-dashboard>div:first-child,[data-bs-theme="dark"] body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .container>div:first-child{background:var(--rp-surface);border-color:var(--rp-border)}
[data-bs-theme="dark"] body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"],[data-page="admin.admin_dashboard"]) table thead th{background:var(--rp-soft);color:var(--rp-muted)}
[data-bs-theme="dark"] body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet{background:var(--rp-surface);border-color:var(--rp-border)!important;color:var(--rp-text)}
[data-bs-theme="dark"] body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet thead th,[data-bs-theme="dark"] body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet tfoot th{background:var(--rp-soft)}
[data-bs-theme="dark"] body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet .alert-light{background:#0f141d;border-color:var(--rp-border)!important;color:var(--rp-muted)!important}
[data-bs-theme="dark"] body:is([data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]) .form-control,
[data-bs-theme="dark"] body:is([data-page="admin.user_edit"],[data-page="admin.province_create"],[data-page="admin.province_edit"],[data-page="admin.city_create"],[data-page="admin.city_edit"],[data-page="admin.district_create"],[data-page="admin.district_edit"],[data-page="admin.neighborhood_create"],[data-page="admin.neighborhood_edit"],[data-page="admin.promotion_plan_create"],[data-page="admin.promotion_plan_edit"],[data-page="admin.upgrade_pricing"],[data-page="messages.start"],[data-page="reports.property_report"],[data-page="reports.message_report"],[data-page="reports.guest_inquiry_report"]) .form-select{background:#0f141d;border-color:#343d4e;color:var(--rp-text)}
[data-bs-theme="dark"] body[data-page="main.ai_search"] .ai-search-hero,[data-bs-theme="dark"] body[data-page="main.ai_search"] .ai-search-interpretation,[data-bs-theme="dark"] body[data-page="main.ai_search"] .ai-search-results-head{background:var(--rp-surface)!important;border-color:var(--rp-border);color:var(--rp-text)}
[data-bs-theme="dark"] body[data-page="main.ai_search"] .ai-search-form{background:var(--rp-soft)!important;border-color:var(--rp-border)!important}

@media(max-width:767.98px){
  body[data-page^="auth."] .auth-layout,body[data-page^="errors."] .auth-layout{padding:1rem .65rem;min-height:auto}
  body[data-page^="auth."] .auth-card,body[data-page^="errors."] .auth-card{padding:1.3rem;border-radius:20px}
  body[data-page="admin.admin_dashboard"] .admin-dashboard{padding-inline:.75rem}
  body:is([data-page="admin.payments_index"],[data-page="admin.invoices_index"]) .table-responsive{border-radius:14px}
  body:is([data-page="property_public.virtual_tour_viewer"],[data-page="admin.moderation_tour_viewer"]) .tour-viewer-shell{border-radius:16px!important}
}

@media print{
  body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]){background:#fff!important}
  body:is([data-page="account.invoice_detail"],[data-page="admin.invoice_detail"]) #invoice-sheet{box-shadow:none!important;border:0!important;background:#fff!important;color:#111!important}
}

/* Error pages are rendered by handlers and may not have a stable request.endpoint. */
.remaining-error-page{min-height:min(720px,calc(100vh - 150px));display:grid;place-items:center;padding:2rem 1rem;position:relative}
.remaining-error-page:before{content:"";position:absolute;inset:4% 8%;pointer-events:none;background:radial-gradient(circle at 82% 18%,rgba(66,99,235,.12),transparent 25%),radial-gradient(circle at 18% 82%,rgba(105,195,255,.12),transparent 24%)}
.remaining-error-page .auth-card{position:relative;width:min(100%,560px);padding:clamp(1.45rem,4vw,2.2rem);border:1px solid var(--rp-border);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 24px 65px rgba(24,32,51,.12);backdrop-filter:blur(12px)}
.remaining-error-page .display-3{font-size:clamp(4rem,11vw,7rem);line-height:1;font-weight:900!important;letter-spacing:-.06em}
[data-bs-theme="dark"] .remaining-error-page .auth-card{background:rgba(18,23,34,.95);border-color:var(--rp-border)}
@media(max-width:767.98px){.remaining-error-page{padding:1rem .65rem;min-height:auto}.remaining-error-page .auth-card{padding:1.3rem;border-radius:20px}}
