/* Tenant-only shell; operations and admin/employee interfaces are unchanged. */
.tenant-ui .tenant-limit-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 16px 0 20px; border: 1px solid #dce3e9; border-radius: 12px; background: #fff; overflow: hidden; }
.tenant-ui .tenant-limit-summary > div { min-width: 0; padding: 14px 18px; }
.tenant-ui .tenant-limit-summary > div:first-child { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tenant-ui .tenant-limit-summary > div:first-child strong { margin-top: 0; }
.tenant-ui .tenant-limit-summary .wallet-caption { margin: 0; text-align: right; }
.tenant-ui .tenant-limit-summary span { display: block; font-size: 12px; line-height: 1.5; color: #5b6775; }
.tenant-ui .tenant-limit-summary strong { display: block; margin-top: 8px; font-size: 25px; line-height: 1.3; overflow-wrap: anywhere; color: #243044; }
.tenant-ui .tenant-limit-summary > div:nth-child(2), .tenant-ui .tenant-limit-summary > div:nth-child(3) { border-top: 1px solid #e5e9ee; }
.tenant-ui .tenant-limit-summary > div:nth-child(2) strong { color: #087c49; }
.tenant-ui .tenant-limit-summary > div:nth-child(3) { border-left: 1px solid #e5e9ee; }
.tenant-ui .tenant-limit-summary > div:nth-child(3) strong { color: #9b650e; }
.tenant-ui .tenant-limit-summary > p { grid-column: 1 / -1; }
.tenant-ui #app .topbar-zeroing-btn { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 6px; align-self: center; min-height: 40px; margin: 0 8px; padding: 8px 12px; border: 0; border-radius: 8px; background: #087c49; color: white; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.tenant-ui #app .topbar-zeroing-btn .material-icons { font-size: 19px; }
.tenant-ui #app .topbar-zeroing-btn:hover { background: #05693c; }
@media(max-width:740px) {
  .tenant-ui #app .top-metrics .balance-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .tenant-ui #app .topbar-zeroing-btn { padding: 8px; margin: 0 6px 0 0; font-size: 12px; gap: 4px; }
  .tenant-ui #app .top-metrics .metric.balance { min-width: 0; padding-inline: 6px; }
  .tenant-ui #app .top-metrics .metric.balance b { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
}
.tenant-ui { --personal-color: #7c3aed; --personal-soft: #f1e9ff; }
.tenant-ui [hidden] { display: none !important; }
.tenant-ui #app { grid-template-columns: var(--tenant-hub-width, 188px) 188px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); height: 100dvh; }
.tenant-ui #app .content-shell { min-width: 0; min-height: 0; }
.tenant-ui #app .tenant-hub-menu { width: auto !important; height: 100dvh; grid-template-rows: auto minmax(0, 1fr); }
.tenant-ui #app .tenant-hub-menu__brand { display: grid; grid-template-columns: minmax(0, 1fr) 32px !important; padding: 16px 12px !important; gap: 8px !important; min-height: 112px; }
.tenant-ui #app .tenant-logo-button { display: inline-flex !important; width: 30px !important; height: 30px !important; min-width: 30px; grid-column: 1; grid-row: 1; }
.tenant-ui #app .tenant-hub-menu__brand-copy { grid-row: 2; grid-column: 1 / -1; }
.tenant-ui #app .tenant-hub-menu__toggle { grid-row: 1; grid-column: 2; }
.tenant-ui #app.tenant-hub-collapsed .tenant-logo-button { display: none !important; }
.tenant-ui #app .tenant-hub-menu__brand-copy b { font-size: 14px !important; line-height: 1.35 !important; overflow-wrap: anywhere !important; }
.tenant-ui #app .tenant-hub-menu__brand-copy span { font-size: 11px; }
.tenant-ui #app .tenant-hub-menu__toggle { width: 30px; height: 36px; position: static; }
.tenant-ui #app .tenant-hub-menu__nav { display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; padding: 8px; gap: 6px; }
.tenant-ui #app .tenant-hub-menu__primary { display: flex; flex-direction: column; gap: 6px; }
.tenant-ui #app .tenant-hub-menu__item { width: 100%; min-width: 0; min-height: 44px; }
.tenant-ui #app .tenant-hub-menu #logoutBtn { width: 100% !important; min-width: 0 !important; margin-top: auto; flex-shrink: 0; border-top: 1px solid #ffffff25; }
.tenant-ui .tenant-hub-menu__item:disabled { opacity: .48; cursor: default; }
.tenant-ui .hub-future { margin-block: 8px; border-block: 1px solid #ffffff20; padding-block: 12px; }
.tenant-ui .hub-future summary { cursor: pointer; color: #d1cbc2; font-size: 12px; padding: 8px; }
.tenant-ui .tenant-hub-menu__caption { font-size: 11px; letter-spacing: .05em; padding: 8px; color: #b7b1aa; }
.tenant-ui #app.tenant-hub-collapsed .tenant-hub-menu__brand { display: flex; justify-content: center; }
.tenant-ui #app.tenant-hub-collapsed .tenant-hub-menu__brand-copy,
.tenant-ui #app.tenant-hub-collapsed .hub-future { display: none; }
.tenant-ui #app .side-menu { min-height: 0; height: 100dvh; overflow-y: auto; }
.tenant-ui .side-menu__brand { display: flex; align-items: center; gap: 8px; }
.tenant-ui .side-menu__item[aria-current="page"] { box-shadow: inset 3px 0 #ef7b35; }
.tenant-ui .side-menu__item--coming-soon:disabled { cursor: default; opacity: .45; }
.tenant-ui .side-menu__item--coming-soon:disabled:hover { background: transparent; border-color: transparent; color: #c7c4bf; transform: none; }
.tenant-ui .side-menu__item--coming-soon small { display: block; margin-top: 2px; color: #a8a29e; font-size: 10px; font-weight: 500; }
.tenant-ui #mobileLocalClose { display: none; }
.tenant-ui #mobileMenuToggle { display: none; }
.tenant-ui button:focus-visible, .tenant-ui summary:focus-visible, .tenant-ui input:focus-visible, .tenant-ui select:focus-visible, .tenant-ui textarea:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.tenant-ui #app .mobile-menu-backdrop { display: none; }
@media (max-width: 980px) {
  .tenant-ui #app, .tenant-ui #app.tenant-hub-collapsed { display: block; height: 100dvh; }
  .tenant-ui #app .content-shell { width: 100%; height: 100dvh; }
  .tenant-ui #app .tenant-hub-menu, .tenant-ui #app .side-menu { position: fixed !important; inset: 0 auto 0 0 !important; width: min(88vw, 340px) !important; height: 100dvh !important; max-height: none !important; z-index: 110; transform: translateX(-105%) !important; visibility: hidden; transition: transform .18s ease; }
  /* Reset the legacy mobile grid: three header controls must share one row.
     !important is needed here because styles.css also locks mobile dimensions. */
  .tenant-ui #app .side-menu, .tenant-ui #app .tenant-hub-menu { display: flex !important; flex-direction: column; overflow: hidden !important; padding-top: env(safe-area-inset-top, 0px); }
  .tenant-ui #app .side-menu__nav, .tenant-ui #app .tenant-hub-menu__nav { display: flex !important; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain; gap: 4px !important; padding: 8px 10px max(16px, env(safe-area-inset-bottom, 0px)) !important; }
  .tenant-ui #app .side-menu__item, .tenant-ui #app .tenant-hub-menu__item { display: grid !important; grid-template-columns: 32px minmax(0, 1fr) !important; flex: 0 0 auto; width: 100%; height: auto !important; min-height: 48px !important; max-height: none !important; gap: 10px !important; padding: 8px 10px !important; justify-content: flex-start; border-radius: 9px !important; }
  .tenant-ui #app .side-menu__item .material-icons, .tenant-ui #app .tenant-hub-menu__item .material-icons { width: 32px !important; height: 32px !important; font-size: 21px !important; border-radius: 8px; }
  .tenant-ui #app .side-menu__item b, .tenant-ui #app .tenant-hub-menu__item b { display: block !important; font-size: 14px !important; line-height: 1.3 !important; }
  .tenant-ui #app .side-menu__item b { display: block; }
  .tenant-ui #app .side-menu__brand { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) 44px !important; grid-template-rows: auto !important; gap: 8px; height: auto !important; min-height: 64px !important; padding: 8px 10px !important; flex-shrink: 0; font-size: 17px !important; }
  .tenant-ui #app .tenant-hub-menu__brand { display: grid !important; grid-template-columns: 40px minmax(0, 1fr) 44px !important; grid-template-rows: auto !important; gap: 10px !important; height: auto !important; min-height: 80px !important; padding: 12px 10px !important; flex-shrink: 0; align-items: center; }
  .tenant-ui #app .tenant-logo-button { display: inline-flex !important; grid-area: 1 / 1 !important; width: 40px !important; height: 40px !important; min-width: 40px; margin: 0 !important; }
  .tenant-ui #app .tenant-logo-button svg { display: block; }
  .tenant-ui #app .tenant-hub-menu__brand-copy { display: block !important; grid-area: 1 / 2 !important; min-width: 0; margin: 0 !important; text-align: left !important; justify-self: stretch !important; }
  .tenant-ui #app .tenant-hub-menu__brand-copy span { display: block; white-space: normal !important; font-size: 10px !important; line-height: 1.4; margin-top: 4px !important; }
  .tenant-ui #app #mobileHubCollapseBtn { grid-area: 1 / 3 !important; position: static !important; margin: 0 !important; background: transparent; border: 1px solid #ffffff25; border-radius: 9px; color: #fff; }
  .tenant-ui #app #mobileHubCollapseBtn span { font-size: 26px !important; line-height: 1 !important; }
  .tenant-ui #app .tenant-hub-menu__primary { display: flex !important; flex-direction: column; padding: 6px !important; gap: 4px !important; }
  .tenant-ui #app .tenant-hub-menu__caption { display: block !important; padding: 8px 10px 4px !important; }
  .tenant-ui #app .hub-future { margin-block: 6px; padding-block: 6px; }
  .tenant-ui #app.mobile-menu-open:not(.mobile-submenu-open) .tenant-hub-menu,
  .tenant-ui #app.mobile-menu-open.mobile-submenu-open .side-menu { transform: translateX(0) !important; visibility: visible; }
  .tenant-ui #app.mobile-menu-open .mobile-menu-backdrop { display: block; position: fixed; inset: 0; z-index: 109; background: #11182780; width: 100%; height: 100dvh; border: 0; }
  .tenant-ui #app #mobileMenuToggle, .tenant-ui #app #mobileLocalClose, .tenant-ui #app #mobileBackToHub, .tenant-ui #app #mobileHubCollapseBtn { display: inline-flex !important; align-items: center; justify-content: center; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; padding: 0 !important; }
  .tenant-ui #mobileLocalClose { margin-left: auto; border: 0; background: transparent; color: inherit; font-size: 26px; }
  .tenant-ui #app #tenantHubToggle { display: none !important; }
  .tenant-ui #app.tenant-hub-collapsed .tenant-hub-menu__brand-copy { display: block; }
  .tenant-ui #app.tenant-hub-collapsed .tenant-hub-menu__brand { display: grid; }
  .tenant-ui #app.tenant-hub-collapsed .hub-future { display: block; }
  .tenant-ui #app .topbar { display: flex; flex-wrap: nowrap; gap: 8px; height: auto; min-height: 64px; padding: 6px 12px; }
  .tenant-ui #app .tenant-title { width: auto !important; flex: 1 1 auto; padding: 0; }
  .tenant-ui #app .top-metrics { width: auto !important; flex: 0 0 auto; height: 44px !important; margin-left: auto; border: 0; }
  .tenant-ui #app #accountBtn { display: inline-flex !important; }
  .tenant-ui #app #mobileMenuToggle { border: 0; background: white; color: #a45729; border-radius: 6px; }
  .tenant-ui #app #mobileBackToHub { background: transparent; color: inherit; border: 1px solid #ffffff25; border-radius: 7px; }
}
@media (max-width: 540px) {
  .tenant-ui #app .topbar { display: grid !important; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0 8px; padding: 4px 10px 8px !important; min-height: 0 !important; }
  .tenant-ui #app .tenant-title { min-width: 0; min-height: 44px !important; height: auto !important; padding: 0 !important; }
  .tenant-ui #app .tenant-title h1 { font-size: 14px !important; line-height: 1.25 !important; white-space: normal !important; }
  .tenant-ui #app .top-metrics { grid-column: 1 / -1; display: flex; width: 100% !important; height: auto !important; min-height: 44px; margin: 0; gap: 4px; }
  .tenant-ui #app .topbar-zeroing-btn { min-height: 44px; margin: 0; padding: 8px 10px; }
  .tenant-ui #app .top-metrics .metric.balance { flex: 1 1 auto; padding: 0 6px; border: 0; }
  .tenant-ui #app .top-metrics .metric.balance b { font-size: 13px !important; line-height: 1.2; }
  .tenant-ui #app .top-metrics .icon-btn { width: 44px !important; min-width: 44px; height: 44px !important; padding: 0; border: 0; }
  .tenant-ui #app .tenant-limit-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 12px 0; }
  .tenant-ui #app .tenant-limit-summary > div { padding: 10px 12px; }
  .tenant-ui #app .tenant-limit-summary > div:first-child { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .tenant-ui #app .tenant-limit-summary strong { font-size: 20px; margin-top: 4px; }
  .tenant-ui #app .tenant-limit-summary > div:first-child strong { margin-top: 0; flex-shrink: 0; }
  .tenant-ui #app .tenant-limit-summary span { font-size: 11px; }
  .tenant-ui #app #section-wallets .section-head { min-height: 0; height: auto; margin: 0 !important; padding: 0 !important; border: 0; background: transparent; }
  .tenant-ui #app #section-wallets .section-head h2 { display: none; }
  .tenant-ui #app .ui-period { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
  .tenant-ui #app .ui-period input { width: 100% !important; min-height: 44px; padding: 8px; }
  .tenant-ui #app .ui-period button { min-height: 44px; padding: 8px; font-size: 13px; }
  .tenant-ui #app .ui-period button[type="submit"] { border: 1px solid #243044; background: #243044; color: white; }
  .tenant-ui #app .section-page input:not([type="checkbox"]), .tenant-ui #app .section-page select, .tenant-ui #app .section-page textarea { font-size: 16px; }
  .tenant-ui #app #section-wallets .wallet-card__head { display: flex !important; flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; }
  .tenant-ui #app #section-wallets .wallet-info-btn { flex: 0 0 44px; min-width: 44px; min-height: 44px; }
}
@media (max-width: 760px) {
  .tenant-ui #app #section-roles .vehicle-inline-form { grid-template-columns: minmax(0, 1fr); }
  .tenant-ui #app #section-zeroings { grid-template-rows: auto minmax(120px, 1fr) auto !important; overflow-y: auto; }
  .tenant-ui #app #section-zeroings .filterbar { padding: 8px 10px !important; gap: 6px !important; grid-template-columns: minmax(0, 1fr) 44px !important; grid-template-rows: 44px 44px !important; }
  .tenant-ui #app #section-zeroings .search-box, .tenant-ui #app #section-zeroings .date-box { height: 44px !important; min-height: 44px !important; max-width: none !important; }
  .tenant-ui #app #section-zeroings .refresh-btn, .tenant-ui #app #section-zeroings .export-btn { width: 44px !important; height: 44px !important; }
  .tenant-ui #app #section-zeroings .search-box input { font-size: 16px !important; }
  .tenant-ui #app #section-zeroings .date-box { gap: 3px; padding: 0 5px; }
  .tenant-ui #app #section-zeroings .date-picker-btn { width: 32px; flex-basis: 32px; height: 42px; }
  .tenant-ui #app #section-zeroings .date-box input { flex: 1 1 0; width: 0; font-size: 11px !important; }
  .tenant-ui #app #section-zeroings .summarybar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding-bottom: env(safe-area-inset-bottom, 0px); min-height: 0 !important; }
  .tenant-ui #app #section-zeroings .summarybar > div { min-height: 0 !important; padding: 8px 10px !important; gap: 3px; align-content: start; border-top: 1px solid #edf0f2; }
  .tenant-ui #app #section-zeroings .summarybar b { font-size: 11px !important; line-height: 1.3 !important; }
  .tenant-ui #app #section-zeroings .summarybar span { font-size: 11px !important; line-height: 1.4 !important; }
  .tenant-ui #app #section-zeroings .ops-table td:nth-child(3) { position: static !important; box-shadow: none; }
  .tenant-ui #app #section-zeroings .ops-table th:nth-child(3) { left: auto !important; box-shadow: none; }
  .tenant-ui #app #section-zeroings .empty-row td { height: 120px; max-width: calc(100vw - 20px); text-align: left; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .tenant-ui #app, .tenant-ui #app .tenant-hub-menu, .tenant-ui #app .side-menu { transition: none; } }
/* Responsive display rules must not reveal actions hidden by role permissions. */
.tenant-ui #app .side-menu__item[hidden], .tenant-ui #app .tenant-hub-menu__item[hidden] { display: none !important; }

/* A common-service page is outside the parking workspace, at every viewport. */
.tenant-ui #app.hub-service { grid-template-columns: var(--tenant-hub-width, 188px) minmax(0, 1fr); }
.tenant-ui #app.hub-service .side-menu,
.tenant-ui #app.hub-service .topbar .metric.balance,
.tenant-ui #app.hub-service #topbarZeroingBtn,
.tenant-ui #app.hub-service #quickZeroingBtn { display: none !important; }
.tenant-ui #app.hub-service .tenant-title { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; }
.tenant-ui .workspace-context { font-size: 11px; line-height: 1.2; color: #687789; }
.tenant-ui #section-suggestions .suggestion-card { max-width: 900px; }
.tenant-ui #section-suggestions .portal-form { margin-bottom: 18px; }
@media (max-width: 540px) {
  .tenant-ui #app.hub-service .topbar { grid-template-columns: 44px minmax(0, 1fr) 44px; grid-template-rows: auto; }
  .tenant-ui #app.hub-service .top-metrics { grid-column: 3; grid-row: 1; width: auto !important; }
}
.tenant-ui .training-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tenant-ui .training-hero { padding:28px; margin:0 0 18px; border-radius:18px; background:linear-gradient(120deg,#24201e,#6f4029); color:#fff; }
.tenant-ui .training-hero--parking { background:linear-gradient(120deg,#193c36,#2e6653); }
.tenant-ui .training-hero h3 { font-size:28px; line-height:1.2; margin:10px 0; color:inherit; }
.tenant-ui .training-hero p { max-width:760px; color:#f5e9e2; line-height:1.6; margin:0; }
.tenant-ui .training-eyebrow { font-size:11px; letter-spacing:.07em; line-height:1.5; font-weight:700; }
.tenant-ui .training-card { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:24px; background:#fff; border:1px solid #dbe0e5; border-radius:16px; min-width:0; }
.tenant-ui .training-card h3,.tenant-ui .training-future h3 { margin:0; font-size:21px; line-height:1.3; }
.tenant-ui .training-card p,.tenant-ui .training-future p { margin:0; color:#526174; line-height:1.6; }
.tenant-ui .training-card .training-icon { width:48px; height:48px; display:grid; place-items:center; background:#f9eee6; color:#9b5127; border-radius:14px; font-size:28px; }
.tenant-ui .training-card button { margin-top:auto; min-height:44px; padding:10px 18px; border-radius:9px; border:0; background:#254d40; color:#fff; font-size:15px; cursor:pointer; }
.tenant-ui .training-progress { font-size:13px; color:#476955; }
.tenant-ui .training-future { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:20px; padding:24px; background:#f8f5f0; border:1px solid #e9dfd3; border-radius:16px; }
.tenant-ui .training-future button { min-height:44px; }
.tenant-ui .training-status:empty { display:none; }
.tenant-ui .training-status { color:#895b20; line-height:1.5; }
@media(max-width:680px) {
  .tenant-ui .training-grid { grid-template-columns:minmax(0,1fr); }
  .tenant-ui .training-hero,.tenant-ui .training-card,.tenant-ui .training-future { padding:20px; }
  .tenant-ui .training-hero h3 { font-size:24px; }
}
.tenant-ui .context-tour:not([open]) { display:none!important; }
.tenant-ui .context-tour[open] { position:fixed; inset:0; display:block; margin:0; padding:0; width:100vw; height:100dvh; max-width:none; max-height:none; border:0; background:transparent; overflow:hidden; color:#22352d; }
.tenant-ui .context-tour::backdrop { background:transparent; }
.tenant-ui #tourShade { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.tenant-ui #tourMask { fill:rgba(12,21,22,.64); }
.tenant-ui #tourRing { fill:none; stroke:#efb577; stroke-width:3; }
.tenant-ui .tour-tip { position:absolute; display:flex; flex-direction:column; width:min(360px,calc(100vw - 24px)); border:1px solid #dfd6cb; border-radius:14px; background:#fff; color:#26362f; box-shadow:0 12px 40px #0005; overflow:hidden; box-sizing:border-box; }
.tenant-ui .tour-tip header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px 0 16px; flex-shrink:0; }
.tenant-ui .tour-tip #onboardingScope { font-size:11px; line-height:1.3; color:#896044; text-transform:uppercase; letter-spacing:.04em; }
.tenant-ui .tour-tip #onboardingClose { display:grid; place-items:center; width:40px; min-width:40px; height:40px; padding:0; border:0; border-radius:8px; color:#72675b; background:transparent; font-size:24px; }
.tenant-ui .tour-copy { min-height:0; overflow:auto; padding:4px 16px 12px; }
.tenant-ui .tour-tip #onboardingTitle { margin:0 0 8px; font-size:19px; line-height:1.25; color:#243b30; }
.tenant-ui .tour-tip #onboardingTitle:focus { outline:none; }
.tenant-ui .tour-tip #onboardingText { margin:0; font-size:14px; line-height:1.5; color:#536157; font-weight:400; }
.tenant-ui .tour-tip footer { display:flex; gap:6px; align-items:center; justify-content:space-between; padding:10px 12px; border-top:1px solid #edf0ec; flex-shrink:0; }
.tenant-ui .tour-tip footer button { min-height:40px; padding:8px 12px; border:1px solid #d3dcd5; border-radius:8px; background:#fff; color:#315a43; font-size:14px; }
.tenant-ui .tour-tip #onboardingLater { border-color:transparent; color:#6b746f; padding-left:4px; }
.tenant-ui .tour-tip #onboardingNext { background:#2c5a42; color:#fff; border-color:#2c5a42; }
.tenant-ui .tour-tip #onboardingBack { min-width:40px; }
.tenant-ui .tour-tip #onboardingCounter { font-size:12px; color:#687a6c; white-space:nowrap; margin-right:auto; }
.tenant-ui .tour-tip button:disabled { opacity:.4; }
.tenant-ui .tour-course-group { margin:16px 0; background:#fff; border:1px solid #dce3dd; border-radius:14px; padding:16px; }
.tenant-ui .tour-course-group > summary { cursor:pointer; font-size:18px; font-weight:700; padding:4px; color:#2c4434; }
.tenant-ui .tour-course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.tenant-ui .tour-course { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; background:#f8faf8; border-radius:10px; min-width:0; }
.tenant-ui .tour-course h4 { margin:0 0 6px; font-size:16px; line-height:1.35; }
.tenant-ui .tour-course span { color:#6a7a6d; font-size:12px; }
.tenant-ui .tour-course button { flex-shrink:0; min-height:44px; padding:8px 12px; border:1px solid #b9cbbc; border-radius:8px; background:#fff; color:#31543b; }
@media(max-width:760px) { .tenant-ui .tour-course-grid { grid-template-columns:minmax(0,1fr); } .tenant-ui .tour-course { padding:12px; gap:8px; } }
.tenant-ui #app.tour-running,.tenant-ui #app.tour-running .tenant-hub-menu,.tenant-ui #app.tour-running .side-menu { transition:none!important; }
