@import url('/platform.css');
/* Shared navigation; legacy filename retained to preserve existing imports. */
@import url('/requests.css');
@import url('/account-ui.css');
.skip-link { position: fixed; left: 1rem; top: 0; transform: translateY(-150%); z-index: 100; background: white; color: #14251f; padding: .75rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; transform: none; }
.home-ui [hidden], .home-drawer [hidden] { display: none !important; }
.participant-profile{display:flex;flex-direction:column;align-items:center;color:inherit;text-decoration:none}
.participant-profile .logo img{width:100%;height:100%;object-fit:cover;border-radius:14px}
[data-all-agents]{font-size:14px;color:#286747;text-decoration:none;white-space:nowrap}
/* Empty feeds are supporting copy, not section headlines. */
.home-ui .block .profile-note{font:400 14px/1.5 var(--font-body);color:#667c6d;margin:8px 0;grid-column:1/-1}
.home-ui .topbar { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: .5rem; padding: .65rem .9rem; min-height: 76px; }
.home-ui .brand { justify-self: start; min-width: 0; gap: .5rem; }
.home-ui .brand > span:last-child { display: block; line-height: 1.45; }
.home-ui .brand strong { display: inline; font-size: 1rem; font-weight: 500; letter-spacing: 0; line-height: inherit; }
.home-ui .brand small { display: inline; max-width: none; margin: 0; font-size: .875rem; font-weight: 400; line-height: inherit; letter-spacing: 0; text-transform: none; }
.home-ui .brand-mark { display: grid; flex-shrink: 0; width: 2.25rem; height: 2.25rem; }
.home-ui .brand-mark svg { display: block; width: 80%; height: 80%; }
.home-ui .footer-brand > div { min-width: 0; }
.home-ui .footer-brand p { overflow-wrap: anywhere; }
.copyright a { color: inherit; text-underline-offset: .2em; }
/* Home rails: one and a half editorial/promotional cards; two participants. */
.home-rail { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - .75rem) / 1.5); gap: .75rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: .2rem; cursor: grab; }
.home-rail::-webkit-scrollbar { display: none; }
.home-rail > * { scroll-snap-align: start; min-width: 0; }
.home-rail:focus-visible { outline: 2px solid #277c59; outline-offset: 3px; }
.home-rail.is-dragging { cursor: grabbing; user-select: none; scroll-snap-type: none; }
.home-rail img { -webkit-user-drag: none; }
.company-grid.home-rail { grid-auto-columns: calc((100% - .75rem) / 2); }
.company-grid.home-rail article { min-height: 8rem; }
.company-grid.home-rail b { font-size: .9375rem; line-height: 1.4; }
.publication-grid.home-rail .publication { background: #eef4f2; }
.publication-grid.home-rail .publication-copy { flex: none; padding: .8rem; }
.publication-grid.home-rail h3 { margin: 0; font-size: 1rem; line-height: 1.4; font-weight: 500; }
.promo-grid.home-rail .promo { min-height: 0; display: flex; flex-direction: column; }
.promo-grid.home-rail .promo p { min-height: 0; }
.promo-grid.home-rail .promo button { margin-top: auto; padding-top: .5rem; min-height: 44px; }
.participant-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.participant-filters::-webkit-scrollbar { display: none; }
.participant-filters button { flex: none; }
.hidden-item { border-bottom: 1px solid #dce7e0; padding: 1rem 0; }
.hidden-item strong { font-size: 1rem; font-weight: 500; }
.hidden-item p, .hidden-item a { font-size: .875rem; }
.hidden-item a { color: #236b4e; }
.home-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; padding: 0; border: 0; border-radius: 12px; background: transparent; color: #23493e; font-size: 1.75rem; font-weight: 400; line-height: 1; }
.home-icon:hover { background: #eff7f4; }
.home-announcement { margin: .65rem .65rem 0; display: flex; align-items: center; background: linear-gradient(110deg,#103e34,#16755c); color: white; border-radius: 16px; padding: .45rem .2rem .45rem .85rem; }
.home-announcement a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: .75rem; min-width: 0; flex: 1; padding-block: .35rem; }
.announcement-mark { display: grid; place-items: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: 12px; color: #e5f292; background: #ffffff12; }
.home-announcement small { display: block; font-size: .65rem; letter-spacing: .09em; color: #d0e9dc; }
.home-announcement strong { display: block; font-size: .94rem; line-height: 1.4; font-weight: 500; }
.announcement-demo { font-size: .75rem; color: #d0e9dc; }
.home-announcement a > svg { flex-shrink: 0; width: 18px; margin-left: auto; }
.home-announcement .home-icon { color: white; align-self: flex-start; }
.home-announcement .home-icon:hover { background: #ffffff18; }
.home-ui .bottom-nav button, .home-ui .bottom-nav a, .bottom-nav.nav-ready button, .bottom-nav.nav-ready a { font-size: .6875rem; line-height: 1.2; color: #53675e; }
.home-ui .bottom-nav .create b, .bottom-nav.nav-ready .create b { font-size: .6875rem; }
.home-ui .bottom-nav :is(a,button) > span:last-child, .bottom-nav.nav-ready :is(a,button) > span:last-child { max-width: 100%; overflow-wrap: anywhere; text-align: center; }
.home-ui .bottom-nav .demo-signed-in > svg, .bottom-nav.nav-ready .demo-signed-in > svg { color: #11705a; fill: #dcefe9; }
.home-ui .bottom-nav .selected, .bottom-nav.nav-ready .selected { color: #11705a; }
.home-ui section[id] { scroll-margin-top: 1rem; }
.home-menu-open { overflow: hidden; }
.home-drawer { position: fixed; inset: 0 auto 0 max(0px, calc((100vw - 560px) / 2)); margin: 0; padding: 0; border: 0; width: min(390px, calc(100vw - 28px)); max-width: none; height: 100%; height: 100dvh; max-height: none; border-radius: 0 24px 24px 0; background: #fff; color: #14251f; font: 1rem/1.5 var(--font-body); overflow: hidden; box-shadow: 14px 0 60px #0d352333; }
.home-drawer[open] { display: flex; flex-direction: column; animation: home-drawer-in .2s ease-out; }
.home-drawer::backdrop { background: #102a245c; backdrop-filter: blur(3px); }
.drawer-head { display: flex; align-items: center; gap: .5rem; padding: max(.8rem, env(safe-area-inset-top)) .9rem .8rem; border-bottom: 1px solid #edf1ee; flex-shrink: 0; }
.drawer-head h2 { flex: 1; margin: 0; font-family: var(--font-heading); font-size: 1.2rem; font-weight: 500; line-height: 1.35; }
.drawer-logo { display: grid; place-items: center; width: 44px; color: #11705a; }
.drawer-logo svg { width: 30px; height: 30px; }
.drawer-body { overflow-y: auto; overscroll-behavior: contain; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
.menu-account { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; column-gap: .8rem; row-gap: .8rem; padding: 1.1rem; background: #f4f9f6; }
.account-avatar { display: grid; place-items: center; width: 46px; height: 46px; background: #e1efe6; color: #146249; border-radius: 15px; font-size: 1.2rem; }
.menu-account strong { font-weight: 500; font-size: 1rem; }
.menu-account p { margin: .15rem 0 0; font-size: .875rem; color: #60726a; }
.menu-account > button, .menu-account > small { grid-column: 1/-1; }
.menu-account small { text-align: center; font-size: .75rem; color: #60726a; }
.menu-primary { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 46px; padding: .65rem 1rem; border: 0; border-radius: 12px; background: #11705a; color: white; font-size: .9375rem; font-weight: 500; }
.menu-primary:hover { background: #0d5847; }
.menu-text { padding: .25rem; min-height: 36px; color: #17634e; background: transparent; border: 0; font-size: .875rem; }
.menu-group { margin: .7rem .8rem; padding: .65rem .4rem .4rem; border-radius: 16px; }
.menu-group[data-menu-group="Читать и смотреть"] { background: #f0f5fb; }
.menu-group[data-menu-group="Недвижимость"] { background: #f4f7ec; }
.menu-group[data-menu-group="Участники и услуги"] { background: #f5f1fa; }
.menu-group[data-menu-group="Пальма"] { background: #faf4ee; }
.menu-group[data-menu-group="Личное"] { background: #eaf5ef; }
.menu-group[data-menu-group="Управление площадкой"] { background: var(--palma-blue,#eef4fb); }
.menu-group .menu-place { background: var(--palma-yellow,#ffdf47); color: var(--palma-ink,#213b30); margin: 8px 0; }
.menu-group .menu-place:hover { background: var(--palma-yellow,#ffdf47); filter: brightness(.98); }
.menu-place svg { width: 18px; height: 18px; }
.menu-link-coming { cursor: default; }
.menu-link-coming small { font-size: 11px; color: var(--palma-ink-soft,#52675a); }
.account-page>.menu-group { margin: 12px 0; padding: 12px; }
.account-avatar { position: relative; overflow: hidden; flex-shrink: 0; }
.menu-avatar-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-ui .topbar.has-account { grid-template-columns: 44px minmax(0,1fr) 44px 44px; }
.home-ui .header-account { border-radius: 50%; padding: 4px; }
.header-account .account-avatar { width: 36px; height: 36px; border-radius: 50%; font-size: 16px; }
.account-heading h2 { margin:0; font:500 18px/1.4 var(--palma-font-body); }
.home-drawer.home-drawer-right { left: auto; right: max(0px,calc((100vw - 560px) / 2)); border-radius: 24px 0 0 24px; box-shadow: -14px 0 60px #0d352333; }
.home-drawer.home-drawer-right[open] { animation-name: home-drawer-right-in; }
@keyframes home-drawer-right-in { from { opacity: .8; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion:reduce) { .home-drawer.home-drawer-right[open] { animation:none; } }
@media (max-width:480px) { .home-ui .topbar.has-account { grid-template-columns: 44px minmax(0,1fr) 44px; } }
@media (min-width:1024px) {
  body .home-ui>.topbar.has-account { grid-template-columns:44px minmax(0,1fr) auto 44px 44px; }
  .home-drawer.home-drawer-right { right:max(24px,calc((100vw - 1680px) / 2 + 24px)); }
}
.menu-group h3 { margin: .25rem .45rem .45rem; color: #687a70; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; font-weight: 500; }
.menu-link { width: 100%; display: flex; align-items: center; gap: .7rem; min-height: 52px; padding: .4rem .45rem; border: 0; border-radius: 12px; background: transparent; color: #213b30; font-size: .9375rem; line-height: 1.35; text-align: left; text-decoration: none; }
.menu-link > span:nth-child(2) { flex: 1; min-width: 0; }
.menu-count { display:grid;place-items:center;min-width:24px;min-height:24px;padding:2px 6px;border-radius:12px;background:#ffe64b;color:#183b2e;font-size:12px;font-weight:700;flex-shrink:0; }
.menu-link > svg { width: 15px; height: 15px; color: #8b9b92; flex-shrink: 0; }
.menu-link:hover, .menu-link[aria-current] { background: #f1f7f3; }
.menu-symbol { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0; }
.menu-symbol svg { width: 21px; height: 21px; stroke-width: 1.65; }
.menu-symbol.green { color: #147253; background: #e4f2e9; }
.menu-symbol.blue { color: #356a95; background: #e9f1f9; }
.menu-symbol.rose { color: #ad5365; background: #faecf0; }
.menu-symbol.sand { color: #8f682c; background: #f8f0e1; }
.menu-symbol.purple { color: #7a5998; background: #f0eaf7; }
.menu-premium { background: #edf6ef; margin-top: .3rem; color: #145c43; }
.menu-premium .menu-symbol { background: #d9eddf; }
.menu-group [data-action="customize"] { margin-top: .35rem; background: #d9ecdf; border: 1px solid #c4dfce; color: #174e37; font-weight: 500; }
.menu-group [data-action="customize"]:hover { background: #cde5d5; }
.menu-group [data-action="customize"] .menu-symbol { background: #f4faf6; }
.menu-group [data-action="customize"] > svg { color: #397153; }
.menu-logout { display: block; margin: .8rem 1.1rem; min-height: 44px; background: none; border: 0; padding: 0; color: #53675e; font-size: .875rem; }
.menu-demo { margin: 1rem 1.1rem 0; padding-top: 1rem; border-top: 1px solid #e2e9e6; font-size: .875rem; color: #53675e; }
.menu-demo summary { cursor: pointer; padding-block: .4rem; }
.menu-demo p { font-size: .8125rem; margin: .5rem 0 .8rem; }
.menu-demo label { display: block; margin-bottom: .35rem; }
.menu-demo select { width: 100%; min-height: 44px; border: 1px solid #d7e3db; border-radius: 10px; padding: .5rem; background: #fff; color: #23493e; font: inherit; }
.menu-setting { display: block; width: 100%; min-height: 44px; margin-top: .45rem; border: 0; border-radius: 10px; background: #f2f6f3; color: #295e49; font-size: .875rem; padding: .5rem; }
.drawer-page { padding: 1.1rem; }
.drawer-page h3 { font-size: 1.2rem; font-family: var(--font-heading); font-weight: 500; line-height: 1.4; margin: 1rem 0 .5rem; }
.drawer-page p { font-size: 1rem; line-height: 1.55; margin: .75rem 0 1.2rem; color: #53675e; }
.drawer-page .demo-caption { font-size: .8125rem; color: #687a70; }
.drawer-page .menu-text { width: 100%; margin-top: .5rem; }
.drawer-page .menu-demo, .drawer-page .menu-logout { margin-inline: 0; }
.page-symbol { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; color: #147253; background: #e4f2e9; margin: .5rem 0 1rem; }
.profile-intro { text-align: center; padding: .5rem 0 1rem; }
.profile-intro .account-avatar { margin: auto; width: 64px; height: 64px; border-radius: 22px; }
.profile-intro p { font-size: .875rem; margin: .25rem 0; }
.search-label { display: block; font-size: .875rem; margin-bottom: .5rem; }
.menu-search { display: flex; align-items: center; gap: .6rem; background: #f2f6f3; border: 1px solid #dfe8e2; padding: .6rem; border-radius: 12px; margin-bottom: 1rem; }
.menu-search input { min-width: 0; width: 100%; min-height: 28px; border: 0; background: transparent; color: #23493e; font-size: 1rem; }
.home-drawer :is(button,a,input,select,summary):focus-visible { outline: 3px solid #219776; outline-offset: 2px; }
@keyframes home-drawer-in { from { opacity: .8; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
.nav-preview { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .15rem; padding: .65rem .2rem; background: #f4f8f5; border: 1px solid #e2e9e6; border-radius: 14px; margin-bottom: 1.25rem; }
.nav-preview-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; font-size: .625rem; color: #53675e; min-width: 0; overflow-wrap: anywhere; text-align: center; }
.nav-preview-item svg { width: 22px; height: 22px; }
.nav-preview-item.locked svg { background: #ffdf47; border-radius: 10px; padding: .25rem; width: 34px; height: 34px; color: #14251f; }
.nav-slot { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .4rem; margin-bottom: .9rem; }
.nav-slot label { grid-column: 1/-1; font-size: .8125rem; color: #53675e; }
.nav-slot select { width: 100%; min-width: 0; border: 1px solid #d7e3db; border-radius: 10px; background: white; color: #213b30; min-height: 44px; padding: .4rem; font: .875rem var(--font-body); }
.slot-move { display: flex; gap: .2rem; }
.slot-move button { width: 44px; min-height: 44px; border: 0; border-radius: 10px; background: #eff5f1; color: #11705a; }
.slot-move button:disabled { opacity: .35; cursor: default; }
.menu-notice { margin: .8rem 1rem; padding: .7rem; border-radius: 10px; color: #145c43; background: #e4f2e9; font-size: .875rem; }
@media (prefers-reduced-motion: reduce) { .home-drawer[open] { animation: none; } .home-ui { scroll-behavior: auto; } }
@media (max-width: 480px) {
  .home-ui .topbar { grid-template-columns: 44px minmax(0,1fr); gap: .2rem; padding: .45rem .4rem; min-height: 60px; }
  .home-ui .topbar > [data-action="search"] { display: none; }
  .home-ui .brand { gap: .35rem; }
  .home-ui .brand-mark:not(.footer-mark) { width: 1.875rem; height: 1.875rem; }
  .home-ui .brand > span:last-child { min-width: 0; overflow-wrap: anywhere; }
  .home-ui .brand strong { font-size: .875rem; }
  .home-ui .brand small { font-size: .75rem; }
  .home-drawer { width: min(370px, calc(100vw - 40px)); }
  .menu-link { min-height: 48px; gap: .6rem; }
}
@media (max-width: 360px) {
  .home-ui .topbar { padding-inline: .25rem; gap: .1rem; }
  .home-ui .brand { gap: .25rem; }
  .announcement-mark { display: none; }
  .home-announcement strong { font-size: .875rem; }
}
.menu-message-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:20px;background:#247452;color:white;font:500 12px 'Golos Text',sans-serif}

/* One global drawer on every screen. Desktop placement lives in the header. */
.palma-header-create{display:none}
.home-ui .home-announcement{margin:0;padding:0 8px 0 0;min-height:48px;border-radius:0;background:var(--palma-sand);color:var(--palma-ink);border-bottom:1px solid var(--palma-line)}
.home-announcement a{padding:0;gap:12px;min-height:48px}
.home-announcement img{width:84px;height:48px;object-fit:cover;flex:none}
.home-announcement strong{font:400 12.6px/1.35 var(--palma-font-body)}
.home-announcement .home-icon{color:var(--palma-ink);align-self:center}
.home-announcement a>svg{width:18px;height:18px;margin-right:4px}
@media(max-width:1023px){
  /* Clip horizontal decoration without creating a scroll container that traps sticky. */
  body .mobile-site.home-ui{overflow:clip}
  body .home-ui>.topbar{position:sticky;top:0;z-index:var(--palma-z-header);background:var(--palma-surface)}
  .home-ui section[id]{scroll-margin-top:calc(var(--palma-header-height) + 12px)}
}
@media(min-width:1024px){
  body .prototype-stage{display:block;max-width:1680px;margin:auto;padding:0 24px 32px!important}
  body .mobile-site{width:100%!important;max-width:none!important;overflow:visible!important;padding-left:0;box-shadow:none;background:var(--palma-surface)}
  body .home-ui>.topbar{position:sticky;top:0;z-index:var(--palma-z-header);min-height:64px;grid-template-columns:44px minmax(0,1fr) auto 44px;padding:8px 16px;background:var(--palma-surface)}
  .home-ui .brand strong{font-size:20px}.home-ui .brand small{font-size:13px}.home-ui .brand-mark{width:36px;height:36px}
  .home-ui .palma-header-create{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:0;border-radius:var(--palma-radius-control);background:var(--palma-yellow);color:var(--palma-green-deep);font:500 var(--palma-control-font)/1.4 var(--palma-font-body);text-decoration:none;white-space:nowrap}
  .palma-header-create svg{width:20px;height:20px;flex:none}
  body .bottom-nav{display:none!important}
  body .home-ui .home-announcement{min-height:48px}.home-announcement img{width:120px}.home-announcement strong{font-size:13px}
  .home-drawer{left:max(24px,calc((100vw - 1680px) / 2 + 24px))}
  .home-drawer.home-drawer-create{left:auto;right:max(24px,calc((100vw - 1680px) / 2 + 24px));border-radius:24px 0 0 24px;box-shadow:-14px 0 60px #0d352333}
  .home-drawer.home-drawer-create[open]{animation-name:home-drawer-right-in}
}

/* Guest entry occupies the same header slot as the account avatar. */
.pwa-install img{display:block;border-radius:20px;margin-bottom:12px}
.pwa-install ol{padding-left:24px;line-height:1.65;margin:20px 0}
.pwa-install li+li{margin-top:12px}
.pwa-install .menu-primary{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;box-sizing:border-box;text-align:center;text-decoration:none;white-space:normal}
.pwa-install .pwa-settings-link{margin-top:20px}
.pwa-install .pwa-platform-note{font-size:13px;line-height:1.5}
.pwa-install [role=status]:empty{display:none}
.home-ui .header-account.header-login{border-radius:10px;background:var(--palma-mint,#e1efe6);color:var(--palma-green,#176649);font:500 11px/1.3 var(--palma-font-body);padding:4px;min-width:44px;min-height:44px}

/* The programmatically focused dialog title is not an interactive control. */
.home-drawer .drawer-head h2[tabindex="-1"]:focus{outline:none}
