/* Hofmanns warm Schaltzentrale theme layer — shared PlanB surfaces. */
:root {
  color-scheme: dark;
  --hai-bg: #120c0b;
  --hai-bg2: #1b1110;
  --hai-panel: rgba(32, 23, 20, .78);
  --hai-panel2: rgba(49, 32, 25, .82);
  --hai-line: rgba(255, 213, 161, .18);
  --hai-line-strong: rgba(255, 179, 102, .52);
  --hai-text: #fff7ed;
  --hai-cream: #fff2da;
  --hai-muted: #d8bca0;
  --hai-dim: #8f745f;
  --hai-brass: #e8b15b;
  --hai-amber: #ffd166;
  --hai-rose: #ff6b8a;
  --hai-copper: #ff7a59;
  --hai-ok: #74f0b4;
  --hai-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.07);
}
html, body { max-width: 100%; }
body {
  background:
    radial-gradient(900px 520px at 16% -12%, rgba(255, 122, 89, .20), transparent 62%),
    radial-gradient(760px 480px at 95% 8%, rgba(232, 177, 91, .15), transparent 58%),
    radial-gradient(650px 520px at 58% 110%, rgba(145, 64, 30, .16), transparent 62%),
    linear-gradient(135deg, #160e0c 0%, #0b0a0d 48%, #17100e 100%) !important;
  color: var(--hai-text);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at 40% 15%, #000 0, transparent 72%);
}
a { color: var(--hai-amber); }
header, .ps-top, .app-top {
  background: rgba(18, 12, 11, .76) !important;
  border-bottom-color: rgba(255, 213, 161, .14) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.20);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.brand, .brand a { color: var(--hai-cream) !important; letter-spacing: -.035em; }
.brand span { color: var(--hai-brass) !important; text-shadow: 0 0 22px rgba(232, 177, 91, .42); }
.panel, .contextbar, .compact-box, article.card, .mapbox, .glass, .status, .chat, .producer-drawer, .modal-box, .action-sheet, .voice, .gal-modal {
  border-color: var(--hai-line) !important;
  background: linear-gradient(180deg, rgba(255, 242, 218, .065), rgba(255,255,255,.024)), rgba(20, 13, 12, .78) !important;
  box-shadow: var(--hai-shadow);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
:is(.panel, .contextbar, .compact-box, article.card, .mapbox, .glass, .status, .chat, .producer-drawer, .modal-box, .action-sheet, .voice, .gal-modal):hover {
  border-color: rgba(255, 213, 161, .25) !important;
}
.lede, .meta, .desc, .sub, .row span, .status, .st-row, .contact-note, .empty { color: var(--hai-muted) !important; }
h1, h2, h3, strong, .title, .drawer-title { color: var(--hai-cream) !important; }
.hero .sub, .cockpit-stage .sub, .joi-hero p { color: #f1cfad !important; opacity: .92 !important; }
.activity-card strong { color: #fff7ed !important; text-shadow: 0 1px 18px rgba(0,0,0,.34); }
.activity-card span:not(.activity-kicker) { color: #efd1b3 !important; opacity: .94 !important; }
button, .btn, .top, .back, .tab, .search-run, .search-actions button, .source-preview a, .saved-search, .filter-chip, .gear-btn, .map-fullscreen, .map-toggle, .contact-actions button, .hero-actions button, .ab, .chip, .gal-tab, .action-close, .drawer-x {
  border-color: var(--hai-line) !important;
  background: rgba(255, 242, 218, .055) !important;
  color: #ffe4bc !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
button:hover, .btn:hover, .top:hover, .back:hover, .tab:hover, .search-run:hover, .saved-search:hover, .filter-chip:hover, .gear-btn:hover, .map-fullscreen:hover, .map-toggle:hover, .contact-actions button:hover, .hero-actions button:hover, .ab:hover, .chip:hover, .gal-tab:hover {
  border-color: var(--hai-line-strong) !important;
  background: rgba(255, 122, 89, .12) !important;
  color: var(--hai-cream) !important;
}
.tab.active, .tab.on, .saved-search.active, .filter-chip.active, .gal-tab.active, .hero-actions .primary, .search-actions button[type="submit"] {
  color: #24100b !important;
  border-color: rgba(255, 214, 156, .54) !important;
  background: linear-gradient(135deg, var(--hai-amber), var(--hai-copper) 72%, var(--hai-rose)) !important;
  box-shadow: 0 12px 32px rgba(255, 122, 89, .24), inset 0 1px 0 rgba(255,255,255,.32);
}
input, select, textarea, .result {
  border-color: rgba(255, 213, 161, .18) !important;
  background: rgba(10, 7, 7, .38) !important;
  color: var(--hai-text) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: rgba(255, 179, 102, .5) !important;
  box-shadow: 0 0 0 4px rgba(255, 122, 89, .10) !important;
  outline: none;
}
.new, .state, .platform, .tag, .pill, .label, .meta-price, .meta-area {
  border-color: rgba(255, 213, 161, .24) !important;
  color: var(--hai-amber) !important;
  background: rgba(255, 209, 102, .08) !important;
}
.card, article.card, .tile, .prodcard, .vidcard, .imgcard {
  border-radius: 18px !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.card:hover, article.card:hover, .tile:hover, .prodcard:hover, .vidcard:hover, .imgcard:hover {
  transform: translateY(-2px);
  border-color: var(--hai-line-strong) !important;
  box-shadow: 0 26px 70px rgba(56, 18, 10, .36), inset 0 1px 0 rgba(255,255,255,.08);
}
.thumb, .property-map, .detail-preview, .card img { border-color: rgba(255, 213, 161, .16) !important; }
@media (max-width: 720px) {
  body { overflow-x: hidden; }
  main, .wrap { width: 100%; max-width: 100%; }
  .panel, .contextbar, .compact-box, article.card, .mapbox { min-width: 0; }
  .statusbar {
    flex-wrap: wrap !important;
    overflow-x: hidden !important;
    row-gap: .34rem !important;
    padding-inline: .7rem !important;
  }
  .statusbar .pill {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}
