/* v3.68.1 · unified section rhythm and moderation UX */
:root{--kush-section-gap:12px}
@media(min-width:768px){:root{--kush-section-gap:16px}}
.personal-grid,
.profile-grid,
.mini-list,
.cashback-rules{gap:var(--kush-section-gap)}
body[data-app-view="admin"] #admin,
body[data-mobile-view="admin"] #admin{
  display:grid!important;
  gap:var(--kush-section-gap);
}
.admin-window-head{margin-bottom:0}
.admin-module-body{display:grid;gap:var(--kush-section-gap)}
.admin-module-body>.admin-toolbar,
.admin-module-body>.admin-point-search,
.admin-module-body>.admin-overview-grid,
.admin-module-body>.admin-moderation{margin:0}
.admin-overview-grid,
.admin-list{gap:var(--kush-section-gap)}
.admin-counters{margin-bottom:var(--kush-section-gap)}

.support-story h3{margin-top:0}

.support-thanks-emoji{font:inherit;white-space:nowrap}

@media(max-width:920px){
  body[data-mobile-view="favorites"] main{display:grid;gap:var(--kush-section-gap)}
  body[data-mobile-view="favorites"] main>[data-mobile-section="favorites"]{padding:0 12px!important;margin:0}
  body[data-mobile-view="favorites"] #profile{padding-top:22px!important}
  body[data-mobile-view="favorites"] #notificationSettingsSection{padding-bottom:22px!important}
  body[data-mobile-view="favorites"] #personal,body[data-mobile-view="favorites"] #personalStats,body[data-mobile-view="favorites"] #personalMore{display:grid!important;gap:var(--kush-section-gap)}body[data-mobile-view="favorites"] #personalStats:not(:has(>:not(.personal-section-label):not([hidden]):not(.engagement-locked))){display:none!important}
  body[data-mobile-view="favorites"] .personal-card{margin:0}
}


/* PWA 3.49: fixed first-screen map viewport on mobile */
@media (max-width: 920px) {
  body[data-mobile-view="map"] {
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
    overscroll-behavior: none;
    padding-bottom: 0;
  }
  body[data-mobile-view="map"] main {
    position: fixed;
    inset: 0;
    height: 100dvh;
    min-height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
  }
  body[data-mobile-view="map"] .hero.app-section {
    position: absolute;
    top: var(--kush-map-top, var(--app-top));
    right: 0;
    bottom: auto;
    left: 0;
    display: block;
    min-height: 0;
    height: var(--kush-map-height, calc(100dvh - var(--app-top) - 78px - var(--safe-bottom)));
    padding: 0;
    overflow: hidden;
  }
  body[data-mobile-view="map"] .hero-panel {
    display: flex;
    flex-direction: column;
    height: var(--kush-map-panel-height, calc(100% - 46px));
    min-height: 0;
    padding: 10px 10px 0;
    overflow: hidden;
  }
  body[data-mobile-view="map"] .searchbar,
  body[data-mobile-view="map"] .quick-filters {
    flex: 0 0 auto;
  }
  body[data-mobile-view="map"] .searchbar { position:relative;z-index:12;pointer-events:auto; }
  body[data-mobile-view="map"] .quick-filters {
    position:relative;z-index:12;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;
    overscroll-behavior-x:contain;pointer-events:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  body[data-mobile-view="map"] .quick-filters::-webkit-scrollbar { display: none; }
  body[data-mobile-view="map"] .map-card {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    border-radius: 22px;
    clip-path: inset(0 round 22px);
    overflow: hidden;
  }
}

/* PWA 3.50: app icon unread badge controls */
.notification-options{display:flex;flex-direction:column;gap:8px;min-width:0}.notification-permission-hint{display:block;color:#ffcf7a;font-size:11px;line-height:1.3;max-width:260px}.sound-toggle[hidden]{display:none!important}
@media(max-width:760px){.notifications-tools{gap:8px}.notification-options{gap:7px}.notification-permission-hint{max-width:210px}}


/* v3.57.1 — polished notification preferences accordion */
#notificationSettingsSection{padding-top:0}
#notificationSettingsAccordion>summary{padding:11px 14px}
#notificationSettingsAccordion .accordion-body{padding:0 12px 12px;max-height:none}
.notification-settings-body{min-width:0}
.notification-settings-panel{display:grid;gap:12px;padding-top:4px}
.notif-settings-intro{margin:0 0 2px;line-height:1.45}
.notif-field{display:grid;gap:7px}
.notif-field label{font-size:13px;font-weight:800;color:rgba(255,255,255,.78)}
.notif-field select,.notif-field input{width:100%;min-width:0;border:1px solid rgba(255,255,255,.13);background:rgba(7,5,26,.62);color:#fff;border-radius:16px;padding:12px 14px;outline:0;font-size:16px;box-sizing:border-box}
.notif-field select option{color:#fff;background:#1b1231}
.notif-checks{display:grid;gap:9px;margin-top:2px}
.notif-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.045);font-weight:700}
.notif-toggle input{width:18px;height:18px;accent-color:#18c96e;flex:0 0 auto}
.notif-digest-location{margin:-2px 4px 0;padding:10px 12px;border-radius:14px;background:rgba(43,211,255,.08);color:rgba(255,255,255,.72);font-size:12px;line-height:1.45}
.notif-location-refresh{width:100%;margin-top:-3px}
.notif-save-btn{margin-top:2px;border:0;border-radius:18px;padding:13px 16px;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;font-weight:900;font-size:15px;box-shadow:0 12px 28px rgba(123,47,255,.28)}
.notif-save-btn:disabled{opacity:.72}
@media(max-width:620px){#notificationSettingsAccordion .accordion-body{padding:0 10px 10px}.notif-field select,.notif-field input{font-size:16px}.notif-save-btn{width:100%}}


/* v3.58.2 — mobile/menu/admin/notification cosmetics */
@media(max-width:920px){#menuBtn{display:none!important}}
.admin-actions{align-items:center}
.admin-actions a,.admin-actions button{padding:5px 8px;font-size:10px;min-height:26px;line-height:1.1;display:inline-flex;align-items:center;justify-content:center;text-align:center;width:auto!important}
.admin-actions a{white-space:nowrap}
.notification-summary{grid-template-columns:auto minmax(0,1fr) auto!important}
.notification-summary-copy{min-width:0;display:grid;gap:3px}
.notification-summary-copy b{font-size:18px;line-height:1.15;white-space:nowrap}
.notification-summary-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
#notificationSettingsAccordion[open] .notification-summary-copy small{display:none}
.notif-help-link{display:inline-flex;align-items:center;align-self:start;color:#d7c8ff;text-decoration:none;font-weight:800;font-size:13px;padding:7px 10px;border-radius:999px;border:1px solid rgba(178,142,255,.24);background:rgba(123,47,255,.09)}
@media(max-width:620px){.admin-actions{gap:5px}.admin-actions a,.admin-actions button{flex:0 0 auto;width:auto!important;padding:5px 7px;font-size:9px}.notification-summary-copy b{font-size:17px}}




/* v3.79.75 · deliberate order inside “Моё”: favorites → cards → stats → light audience */
#personal,#personalStats{grid-template-columns:1fr}

/* v3.76.4 · focused mobile lists in the “Моё” window */
@media(max-width:920px){
  body[data-mobile-view="favorites"] #personal,body[data-mobile-view="favorites"] #personalStats,body[data-mobile-view="favorites"] #personalMore,body[data-mobile-view="favorites"] #cards{
    margin:0!important;
  }
  body[data-mobile-view="favorites"] #personal,body[data-mobile-view="favorites"] #personalStats,body[data-mobile-view="favorites"] #personalMore{gap:var(--kush-section-gap)!important}
  body[data-mobile-view="favorites"] #personal>.personal-accordion,body[data-mobile-view="favorites"] #personalStats>.personal-accordion,body[data-mobile-view="favorites"] #personalMore>.personal-accordion,body[data-mobile-view="favorites"] #cardsAccordion{
    margin:0!important;
  }
  body.personal-accordion-active{
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  body[data-mobile-view="favorites"] .personal-accordion.is-focus-open{
    position:fixed!important;
    top:var(--personal-accordion-top,var(--app-top))!important;
    right:0!important;
    bottom:var(--personal-accordion-bottom,calc(82px + var(--safe-bottom)))!important;
    left:0!important;
    z-index:30!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr);
    border-radius:0!important;
    border-right:0!important;
    border-left:0!important;
    background:rgba(10,7,28,.985)!important;
    box-shadow:0 20px 70px rgba(0,0,0,.62)!important;
    backdrop-filter:blur(28px);
    overflow:hidden!important;
  }
  body[data-mobile-view="favorites"] .personal-accordion.is-focus-open>summary{
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    min-height:58px;
    padding:13px 16px!important;
    color:#fff;
    background:linear-gradient(135deg,rgba(123,47,255,.34),rgba(255,45,120,.24),rgba(0,212,255,.18))!important;
    border-bottom:1px solid rgba(0,212,255,.34);
    box-shadow:0 10px 28px rgba(0,0,0,.32),inset 0 -1px 0 rgba(255,255,255,.05)!important;
  }
  body[data-mobile-view="favorites"] .personal-accordion.is-focus-open>summary b{
    color:#fff;
    text-shadow:0 0 18px rgba(0,212,255,.22);
  }
  body[data-mobile-view="favorites"] .personal-accordion.is-focus-open>summary::after{
    color:var(--cyan);
  }
  body[data-mobile-view="favorites"] .personal-accordion.is-focus-open>.accordion-body{
    min-height:0!important;
    max-height:none!important;
    height:100%!important;
    padding:12px 12px 18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-gutter:stable;
  }
  body[data-mobile-view="favorites"] #cardsAccordion.is-focus-open>.accordion-body{
    padding-top:12px!important;
  }
}

/* v3.76.4 · prevent favorite cards from being compressed inside the focused list */
@media(max-width:920px){
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    align-content:start!important;
    overflow-y:auto!important;
  }
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body>.mini-item,
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body>.empty-state,
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body>.muted{
    width:100%!important;
    min-height:max-content!important;
    height:auto!important;
    margin:0 0 10px!important;
    flex:none!important;
  }
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body>.mini-item:last-child,
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body>.empty-state:last-child,
  body[data-mobile-view="favorites"] #favorites.is-focus-open>.accordion-body>.muted:last-child{
    margin-bottom:0!important;
  }
  body[data-mobile-view="favorites"] #favorites.is-focus-open .mini-item{
    grid-auto-rows:auto!important;
    align-self:start!important;
    overflow:visible!important;
  }
  body[data-mobile-view="favorites"] #favorites.is-focus-open .mini-item b,
  body[data-mobile-view="favorites"] #favorites.is-focus-open .mini-item small{
    line-height:1.3!important;
  }
}

/* v3.76.4 · Favorites reuse Search cards; flex rows keep natural height */
#favoritesList.favorite-place-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:9px!important;min-width:0!important}
#favoritesList.favorite-place-list>.place-card{display:block!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;min-height:max-content!important;height:auto!important;margin:0!important}
@media(max-width:920px){
 body[data-mobile-view="favorites"] #favorites.is-focus-open>#favoritesList.favorite-place-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:9px!important;height:100%!important;min-height:0!important;padding:12px 12px 18px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
 body[data-mobile-view="favorites"] #favorites.is-focus-open>#favoritesList.favorite-place-list>.place-card{display:block!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;min-height:max-content!important;height:auto!important;margin:0!important;transform:none!important}
}

/* v3.79.18 — unified collapsible blocks in “Моё” */
.profile-stats-accordion{padding:0!important;overflow:hidden;align-self:start}
.profile-stats-accordion>summary{padding:14px 16px}
.profile-stats-accordion>.accordion-body{padding:0 14px 14px;max-height:min(62vh,620px)}
.profile-stats-intro{margin:0 0 12px;line-height:1.45}
.profile-stats-body .privacy-note{margin:12px 2px 0;line-height:1.45}
.profile-ledger-title{margin:18px 0 10px;font-size:17px}
#cards,#notificationSettingsSection{margin:0;padding-left:14px;padding-right:14px}
#cards{padding-top:var(--kush-section-gap);padding-bottom:0}
#notificationSettingsSection{padding-top:var(--kush-section-gap);padding-bottom:22px}
#cardsAccordion,#notificationSettingsAccordion{margin:0;width:100%}
#cardsAccordion>summary,#notificationSettingsAccordion>summary{padding:14px 16px}
@media(max-width:920px){
  body[data-mobile-view="favorites"] #profilePanel{gap:var(--kush-section-gap)}
  body[data-mobile-view="favorites"] #cards,
  body[data-mobile-view="favorites"] #notificationSettingsSection{padding:0 12px!important;margin:0!important}
  body[data-mobile-view="favorites"] #cardsAccordion,
  body[data-mobile-view="favorites"] #notificationSettingsAccordion{margin:0!important}
  .profile-stats-accordion>summary,#cardsAccordion>summary,#notificationSettingsAccordion>summary{padding:11px 14px}
  .profile-stats-accordion>.accordion-body{padding:0 10px 10px;max-height:52dvh}
}

/* v3.79.18 — explicit compact clear buttons for both place-search fields */
.searchbar,.list-search{position:relative}
.searchbar .search-clear-btn,.list-search .search-clear-btn{flex:0 0 auto;width:28px;height:28px;min-width:28px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;align-self:center;background:rgba(255,255,255,.09);color:rgba(255,255,255,.72);font:500 20px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:none;transition:background .16s ease,color .16s ease,transform .16s ease}
.searchbar .search-clear-btn:hover,.list-search .search-clear-btn:hover{background:rgba(255,255,255,.16);color:#fff}
.searchbar .search-clear-btn:active,.list-search .search-clear-btn:active{transform:scale(.9)}
.searchbar .search-clear-btn[hidden],.list-search .search-clear-btn[hidden]{display:none!important}
.searchbar input[type="search"]::-webkit-search-cancel-button,.list-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
@media(max-width:620px){.searchbar .search-clear-btn,.list-search .search-clear-btn{width:26px;height:26px;min-width:26px;font-size:19px}.searchbar{gap:6px}.list-search{gap:7px}}
/* v3.79.18 — stable focused headers and persistent accordion arrow */
.personal-accordion>summary{position:relative;padding-right:46px!important;grid-template-columns:auto minmax(0,1fr) auto!important}
.personal-accordion>summary::after{position:absolute;right:16px;top:50%;width:20px;height:20px;display:grid;place-items:center;transform:translateY(-50%);transform-origin:50% 50%;pointer-events:none}
.personal-accordion[open]>summary::after{transform:translateY(-50%) rotate(180deg)}
@media(max-width:920px){body[data-mobile-view="favorites"] .personal-accordion.is-focus-open>summary::after{right:16px!important;display:grid!important;visibility:visible!important;opacity:1!important}}

/* v3.79.21 — reliable iOS focused accordion body and real favorites chevron */
#favorites>summary::after{display:none!important}
.accordion-chevron{position:absolute;right:16px;top:50%;width:20px;height:20px;display:grid;place-items:center;color:var(--muted);font-size:20px;line-height:1;transform:translateY(-50%);transform-origin:50% 50%;transition:transform .2s,color .2s;pointer-events:none}
#favorites[open]>summary>.accordion-chevron{transform:translateY(-50%) rotate(180deg)}
@media(max-width:920px){
 body[data-mobile-view="favorites"] .personal-accordion.is-focus-open>.accordion-body{position:absolute!important;left:0!important;right:0!important;top:58px!important;bottom:0!important;width:auto!important;height:auto!important;min-height:1px!important;display:block!important}
 body[data-mobile-view="favorites"] #favorites.is-focus-open>summary>.accordion-chevron{display:grid!important;visibility:visible!important;opacity:1!important;color:var(--cyan)}
}
/* v3.79.22 — focused statistic accordions must stretch between app bars */
@media(max-width:920px){body[data-mobile-view="favorites"] .profile-stats-accordion.is-focus-open{align-self:stretch!important;box-sizing:border-box!important;height:calc(100dvh - var(--personal-accordion-top,var(--app-top)) - var(--personal-accordion-bottom,calc(82px + var(--safe-bottom))))!important;min-height:240px!important}body[data-mobile-view="favorites"] .profile-stats-accordion.is-focus-open>.accordion-body{display:block!important;visibility:visible!important;opacity:1!important}}
