/* Shared with the miniapp: #0F46C8, clear bevels, quiet blue elevation.
   No transforms/filters on workspace ancestors: fixed dialogs and maps must
   retain their existing stacking and viewport positioning. */
:root {
  --blue: #0f46c8;
  --blue-dark: #173878;
  --blue-soft: #eaf1ff;
  --ink: #203451;
  --muted: #647893;
  --line: rgba(85,126,191,.16);
  --liquid-fill: rgba(255,255,255,.72);
  --liquid-blur: none;
  --liquid-edge: 1px solid rgba(255,255,255,.92);
  --liquid-shadow: 0 18px 42px -18px rgba(34,73,137,.29), 0 4px 12px rgba(54,94,157,.05), inset 0 1px 1px #fff, inset 1px 0 2px rgba(255,255,255,.9), inset -1px -2px 3px rgba(133,169,220,.22);
  --liquid-surface: linear-gradient(125deg,rgba(255,255,255,.65),rgba(255,255,255,.12) 28%,transparent 48%,rgba(181,207,245,.12) 78%,rgba(255,255,255,.4)),var(--liquid-fill);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  :root { --liquid-fill: rgba(255,255,255,.46); --liquid-blur: blur(18px) saturate(135%); }
}
body, body:has(#hotelApp:not([hidden])), body:has(#companyApp:not([hidden])) {
  color: var(--ink);
  background: radial-gradient(ellipse at 10% 8%,#dceaff 0,transparent 48%),radial-gradient(ellipse at 92% 72%,#d9ebff 0,transparent 45%),linear-gradient(155deg,#f4f8ff,#edf5ff 55%,#e9f2ff);
  background-attachment: fixed;
}
#hotelApp, #companyApp { color:var(--ink); background:transparent; }
body::before, body::after { display:none; }
.glass,
#hotelApp .glass, #hotelApp > .topbar, #hotelApp main > .section,
#companyApp .topbar, #companyApp .company-panel, #companyApp .company-sidebar,
#companyApp .company-feedback-section, #companyApp .chart-box, #companyApp .map-panel,
.auth-dialog, .hotel-catalog-modal, .hotel-category-modal, .product-editor-modal,
.company-inventory-modal-dialog, .settlement-dialog {
  color:var(--ink);
  background:var(--liquid-surface);
  border:var(--liquid-edge) !important;
  border-bottom-color:rgba(160,188,227,.46) !important;
  border-radius:28px;
  box-shadow:var(--liquid-shadow) !important;
  -webkit-backdrop-filter:var(--liquid-blur);
  backdrop-filter:var(--liquid-blur);
}
/* Only the top-level modal blurs the backdrop; nested cards use reflections. */
.metric, #companyApp .metric, #hotelApp .after-sale-summary .metric, .hotel-inventory-item,
#hotelApp .hotel-inventory-item, .catalog-review-card, .catalog-review-metrics button,
.company-stock-panel, .company-inventory-action, .chart-box, .map-panel,
.settlement-summary > div, .settlement-recipient, .settlement-channel,
.catalog-publish-preview, .hotel-category-board-column, .category-board-column {
  color:var(--ink);
  background:var(--liquid-surface);
  border:var(--liquid-edge) !important;
  border-bottom-color:rgba(160,188,227,.36) !important;
  border-radius:22px;
  box-shadow:var(--liquid-shadow) !important;
}
#hotelApp .hotel-sidebar, #companyApp .company-sidebar {
  background:#20262e; border-color:#343d48 !important;
  box-shadow:0 16px 34px rgba(17,23,30,.28) !important;
}
#hotelApp .hotel-sidebar-item, #companyApp .company-sidebar-item {
  color:#c3ccd6; border:1px solid transparent; border-radius:16px;
  transition:transform .38s cubic-bezier(.18,1.48,.36,1),background .22s ease,box-shadow .28s ease,color .22s ease,border-color .22s ease;
}
#hotelApp .hotel-sidebar-item:hover, #companyApp .company-sidebar-item:hover { color:#fff; background:#343d48; }
#hotelApp .hotel-sidebar-item.active, #companyApp .company-sidebar-item.active {
  color:#fff; background:#c86d47;
  border-color:rgba(255,255,255,.2); box-shadow:0 7px 15px rgba(200,109,71,.3) !important;
}
#hotelApp .hotel-sidebar-item.active:hover, #companyApp .company-sidebar-item.active:hover { background:#d5744c; }
#hotelApp .hotel-sidebar-label, #companyApp .company-sidebar-label { color:#f1a37b; font-weight:700; }
#hotelApp .hotel-nav-mark, #companyApp .company-nav-mark { color:#98a6b5; }
#hotelApp .hotel-sidebar-item.active .hotel-nav-mark, #companyApp .company-sidebar-item.active .company-nav-mark { color:#fff0e7; }
#hotelApp .hotel-sidebar-foot, #companyApp .company-sidebar-foot { color:#c3ccd6; border-top-color:rgba(255,255,255,.12); }
#hotelApp .hotel-sidebar-foot span, #companyApp .company-sidebar-foot span { color:#98a6b5; }
#hotelApp h2, #hotelApp h3, #companyApp h2, #companyApp h3 { color:#203451; }
#hotelApp .muted, #companyApp .muted, .muted { color:var(--muted); }
#hotelApp > .topbar .brand > strong, #companyApp .topbar .brand strong { color:var(--blue); }
#hotelApp > .topbar .brand > span, #companyApp .topbar .brand span { color:var(--ink); }
.topbar .brand img { filter:none; }
.small-btn, .logout, .year-btn, #hotelApp .small-btn, #companyApp .small-btn, #hotelApp > .topbar .logout,
#companyApp .topbar .logout, .settlement-dialog button, .settlement-upload,
.catalog-steps button, .modal-panel-close, .review-close, .finance-close, .company-inventory-modal-close {
  color:var(--blue) !important; background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(232,241,255,.58));
  border:1px solid rgba(255,255,255,.95) !important; border-radius:13px;
  box-shadow:0 5px 12px rgba(35,79,145,.07),inset 0 1px #fff !important;
  transition:background .18s ease,box-shadow .18s ease;
}
.primary, .refresh, #hotelApp .refresh, #hotelApp .primary, #companyApp .primary, #companyApp .refresh, #hotelApp > .topbar .hotel-commission-launch, .year-btn.active {
  color:#fff; background:linear-gradient(140deg,#3975e5,#0f46c8 70%);
  border:1px solid rgba(255,255,255,.48) !important; border-radius:14px;
  box-shadow:0 8px 18px rgba(15,70,200,.2),inset 0 1px rgba(255,255,255,.5) !important;
}
.small-btn:hover, #hotelApp .small-btn:hover, #companyApp .small-btn:hover, .settlement-dialog button:hover { color:var(--blue); background:rgba(235,244,255,.98); }
.refresh:hover, #companyApp .refresh:hover, #companyApp .primary:hover, #hotelApp .primary:hover, #hotelApp .refresh:hover, #hotelApp > .topbar .hotel-commission-launch:hover { background:linear-gradient(140deg,#4c85ed,#1b53cf); }
.small-btn.danger, #hotelApp .small-btn.danger, #companyApp .small-btn.danger { color:var(--red) !important; background:rgba(255,241,244,.85); }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:3px solid rgba(15,70,200,.48); outline-offset:3px; }
button:disabled { opacity:.48; cursor:not-allowed; }
input:not([type=checkbox]):not([type=radio]), textarea, select, #companyApp input, #companyApp textarea, #companyApp select,
.settlement-form input:not([type=checkbox]), .settlement-form select {
  color:var(--ink); background:rgba(255,255,255,.75); border:1px solid rgba(119,157,211,.28);
  border-radius:13px; box-shadow:inset 0 1px 3px rgba(64,100,151,.04);
}
input:focus, textarea:focus, select:focus { border-color:rgba(15,70,200,.6); box-shadow:0 0 0 3px rgba(15,70,200,.1); }
.table-wrap, #hotelApp .table-wrap { border-radius:18px; background:rgba(255,255,255,.32); }
th, #hotelApp th, #companyApp th { color:#627998; background:rgba(225,237,255,.44); }
td, #hotelApp td { color:#354b68; border-bottom-color:rgba(101,143,201,.13); }
tbody tr:hover td, #hotelApp tbody tr:hover td { background:rgba(226,239,255,.55); }
#hotelApp .hotel-order-row.completed td { color:#354b68; background:transparent; }
#hotelApp .order-id-link, #hotelApp .hotel-inventory-count { color:var(--blue); }
#hotelApp .hotel-inventory-item h4 { color:var(--ink); }
#hotelApp .hotel-inventory-status, #hotelApp .after-sale-summary .metric { color:var(--muted); }
.metric b, #companyApp .metric b, #hotelApp .after-sale-summary .metric b, .catalog-review-metrics strong { color:var(--blue); }
.metric.alert b { color:var(--red); }
.hotel-catalog-modal .modal-panel-header, .hotel-category-modal .modal-panel-header,
#hotelDetailPanel .modal-panel-header, #hotelProductPanel .modal-panel-header,
#roomManager .modal-panel-header, #companyFinance .modal-panel-header, .product-editor-header {
  background:rgba(242,248,255,.96); border-bottom-color:var(--line);
}
.catalog-steps [aria-current=step] { color:var(--blue); border-color:rgba(15,70,200,.22) !important; background:#e8f1ff; }
.catalog-dropzone { background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(217,234,255,.5)); border-color:#97b7e7; }
.catalog-dropzone.drag-over { background:#e0edff; border-color:var(--blue); }
.settlement-qr { background:#fff; }
.review-modal, .hotel-stats-modal, .hotel-commission-modal, .order-status-modal,
.company-metric-details-modal, .company-feedback-modal, .hotel-catalog-modal,
.hotel-category-modal, .company-inventory-modal-dialog, .settlement-dialog {
  --liquid-fill:rgba(247,251,255,.83);
}
.settlement-dialog::backdrop { background:rgba(23,45,82,.28); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.auth-dialog { background:rgba(243,248,255,.86); }
.auth-dialog .primary::before { animation:none; background:linear-gradient(135deg,#c3deff,#5b92eb); }
.auth-dialog .primary::after { background:linear-gradient(135deg,#3975e5,#0f46c8); }
.hotel-form, #hotelDetailPanel, #hotelProductPanel, #roomManager, #companyFinance { background:var(--liquid-surface); border:var(--liquid-edge); box-shadow:var(--liquid-shadow); border-radius:24px; -webkit-backdrop-filter:var(--liquid-blur); backdrop-filter:var(--liquid-blur); }
#hotelApp .finance-main-card { color:var(--ink); background:var(--liquid-surface); }
#hotelApp .finance-main-card b { color:var(--blue); }
#hotelApp .finance-main-card span { color:var(--muted); }
.chat-layout, .chat-conversation, .chat-contact-pane { background:rgba(241,247,255,.6); border-color:var(--line); }
.chat-contact.active { background:rgba(255,255,255,.75); box-shadow:inset 3px 0 var(--blue); }
.chat-avatar { background:var(--blue); }
@media(min-width:821px) {
  #hotelApp .hotel-sidebar, #companyApp .company-sidebar { max-height:calc(100dvh - 100px); overflow:visible; }
  #hotelApp .hotel-sidebar-item:hover, #companyApp .company-sidebar-item:hover {
    z-index:4; transform:translateX(12px) scale(1.4);
    box-shadow:0 12px 28px rgba(10,15,21,.38),inset 0 1px rgba(255,255,255,.12) !important;
  }
  #hotelApp .hotel-sidebar-item.dock-near, #companyApp .company-sidebar-item.dock-near { transform:translateX(4px) scale(1.15); }
  #hotelApp .hotel-sidebar-item.dock-near:hover, #companyApp .company-sidebar-item.dock-near:hover { transform:translateX(12px) scale(1.4); }
}
@media(min-width:821px) and (max-height:850px) {
  #hotelApp .hotel-sidebar, #companyApp .company-sidebar { padding-top:10px; padding-bottom:10px; }
  #hotelApp .hotel-sidebar-nav, #companyApp .company-nav { gap:4px; }
  #hotelApp .hotel-sidebar-item, #companyApp .company-sidebar-item { min-height:clamp(30px,calc((100dvh - 230px)/8),66px); padding-top:4px; padding-bottom:4px; }
  #hotelApp .hotel-sidebar-foot, #companyApp .company-sidebar-foot { margin-top:6px; padding-top:6px; }
}
@media(max-width:820px) {
  :root { --liquid-blur:blur(12px) saturate(125%); --liquid-fill:rgba(255,255,255,.68); }
  #hotelApp .hotel-sidebar, #companyApp .company-sidebar { border-radius:22px; background:#20262e; }
  #hotelApp .hotel-sidebar-item, #companyApp .company-sidebar-item { border-radius:14px; }
  #hotelApp main > .section, #companyApp .company-panel { border-radius:24px; }
  .settlement-dialog, .hotel-catalog-modal, .hotel-category-modal, .company-inventory-modal-dialog { border-radius:24px; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  :root { --liquid-blur:none; --liquid-fill:rgba(255,255,255,.87); }
}
@media(prefers-reduced-transparency:reduce) {
  :root { --liquid-blur:none; --liquid-fill:#f7faff; }
  .auth-dialog { background:#f4f8ff; }
}
@media(prefers-reduced-motion:reduce) {
  .auth-landing, .liquid-title, .liquid-title::before, .liquid-subtitle, .waitlist-button, .auth-dialog, .auth-card { animation:none; opacity:1; }
  button { transition:none !important; }
}
