/* Kovcheg theme 2 — neutral night palette plus adaptive shell. */
@media(max-width:780px){
  .site-header .header-inner{min-height:55px!important}
  .site-header .brand strong{font-size:clamp(14px,3.4vw,19px)!important}
  .site-header .brand small{font-size:10px!important}
  .site-header .header-actions{gap:5px!important}
  .site-header .account-menu summary .avatar{width:34px!important;height:34px!important}
  .site-header .kv-notice-bell{width:34px!important;height:34px!important}
  .kv-vk-main,.kv-msg-conversation{min-width:0!important;width:100%!important}
  .kv-vk-app{max-width:100%;min-width:0}
  img{max-width:100%}
}
@media(max-width:510px){
 .site-header .header-inner{width:calc(100% - 20px)!important;gap:3px!important}
 .site-header .brand{gap:2px!important}
 .site-header .brand strong{font-size:14px!important}
 .site-header .brand small{font-size:9px!important}
 .site-header .mobile-menu summary{width:32px!important;height:32px!important;padding:0!important}
 .site-header .account-arrow{display:none}
 .site-header .header-actions{gap:2px!important}
 .site-header .kv-notice-panel{max-width:calc(100vw - 16px)}
 .kv-classic-columns{grid-template-columns:minmax(95px,120px) minmax(0,1fr)!important}
 .kv-settings-tabs{display:flex;flex-wrap:wrap;gap:4px}
 .kv-stage52-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kv-vk-main .kv-panel{max-width:100%}
 .kv-msg-thread{overflow-x:hidden}
}

/* Stage57: mobile app bar and touch-first layouts across all shelter pages. */
.kv-mobile-bottom{display:none}
@media(max-width:780px){
 body{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))!important}
 .kv-mobile-bottom{
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;min-height:60px;
  padding:2px 4px max(5px,env(safe-area-inset-bottom,0px));
  background:#fff;border-top:1px solid #dae5ef;
  box-shadow:0 -3px 15px #1c35521a;
 }
 .kv-mobile-bottom a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;min-width:0;padding:4px 2px;
  text-decoration:none!important;border-radius:6px;
  color:#6c8aa7!important;
 }
 .kv-mobile-bottom a span{font:400 24px/25px system-ui,sans-serif}
 .kv-mobile-bottom a small{font-size:10px!important;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:inherit!important}
 .kv-mobile-bottom a.is-active{color:#387eb6!important;background:#eff6fb}
 .kv-mobile-bottom a:active{background:#e7f1fb}
 .site-footer{padding-bottom:18px}
 .kv-vk-main,.crm-main{min-width:0}
 .kv-album-page .kv-vk-main{width:100%}
 .kv-msg-thread,.kv-msg-peers,.kv-msg-compose textarea{scrollbar-width:none!important;-ms-overflow-style:none!important}
 .kv-msg-thread::-webkit-scrollbar,.kv-msg-peers::-webkit-scrollbar,.kv-msg-compose textarea::-webkit-scrollbar{width:0!important;display:none!important}
}
@media(max-width:390px){
 .site-header .brand strong{font-size:13px!important}
 .site-header .brand small{display:none!important}
 .site-header .brand{min-width:0!important}
 .kv-mobile-bottom a small{font-size:9px!important}
}


/* Kovcheg night / VK-inspired neutral grayscale system.
   Entire site: public pages, social, Messenger, CRM, forms, dialogs and mobile.
   Accent blue is reserved for semantic links and focus states only. */
html:has(body.shelter-dark) {background:#141414!important;color-scheme:dark}
body.shelter-dark{
  color-scheme:dark;
  --night-bg:#141414;
  --night-surface:#222222;
  --night-card:#252525;
  --night-pop:#282828;
  --night-hover:#303030;
  --night-field:#303030;
  --night-border:#393939;
  --night-text:#e4e4e4;
  --night-muted:#a3a3a3;
  --night-link:#98b9e2;
  --night-selected:#333333;
  --bg:#141414;--surface:#222222;--ink:#e4e4e4;--muted:#a3a3a3;
  --green:#d0d0d0;--deep:#efefef;--line:#393939;
  --accent:#91b9ed;--ark-ink:#e4e4e4;
  --shadow:none;
  background:#141414!important;color:#e4e4e4!important;
  background-image:none!important;
}
/* Page background: no white or blue sheet anywhere. */
body.shelter-dark :is(
  .site-main,.crm-shell,.crm-main,.kv-vk-app,.kv-vk-main,
  .kv-vk-sidebar,.kv-classic-content,.kv-vk-wall,.kv-social,
  .kv-messages-page,.kv-msg-shell,.site-sidebar,
  .crm-sidebar,.hero,.hero-copy,.about-page,.profile-main
){background-color:var(--night-bg)!important;color:var(--night-text)!important;
  background-image:none!important;border-color:var(--night-border)!important}
body.shelter-dark .crm-main{background:var(--night-bg)!important;color:var(--night-text)!important}
body.shelter-dark .crm-sidebar{border-right:1px solid var(--night-border)!important}
body.shelter-dark :is(
  .site-header,.site-footer,.account-dropdown,.account-menu>div,
  .mobile-nav,.kv-notice-panel,.kv-notice-tools,.kv-notice-push,
  .kv-notice-items,.kv-wall-emoji-picker,.kv-msg-more-menu,
  .kv-msg-emoji-menu,.kv-album-dialog,.kv-avatar-crop-dialog
){background:var(--night-surface)!important;background-image:none!important;
 color:var(--night-text)!important;border-color:var(--night-border)!important;
 box-shadow:none!important;backdrop-filter:none!important}
body.shelter-dark .site-header{border-bottom:1px solid var(--night-border)!important}
body.shelter-dark .site-footer{border-top:1px solid var(--night-border)!important}
body.shelter-dark :is(
  .kv-panel,.crm-panel,.crm-stat,.kv-classic-avatar-card,.kv-classic-info-card,
  .kv-classic-recent-photos,.kv-vk-aside-card,.kv-stage51-section,
  .kv-stage52-section,.kv-stage52-photo-card,.kv-stage52-photos-head,
  .kv-stage52-photo-card,.kv-album-cover,.kv-album-header,.kv-album-upload,
  .kv-album-new,.kv-settings-card,.kv-settings-section,.kv-msg-conversation,
  .kv-msg-person,.kv-msg-list,.kv-msg-list-header,.kv-msg-peer,
  .kv-msg-compose,.kv-msg-reply-bar,.kv-msg-selection-bar,.kv-msg-voice-player,
  .kv-post,.kv-composer,.kv-vk-wall .kv-feed-stack,.crm-stat,
  .feature,.pet-card,.plan,.animal-card,.animal-detail-art,
  .filter-bar,.auth-panel,.v5-auth-wrap,.v5-auth-art,
  .v5-auth-form,.v5-demo-notice,.v5-demo-disclaimer,
  .v5-pet-card,.v5-pet-info,.v5-pet-photo,
  .kv-side-ad,.kv-side-ad-empty,.kv-photo-prepublish,
  .kv-comment,.kv-comment-item,.kv-comment-form,
  .kv-msg-first,.kv-blank,.empty-state,.kv-stage52-empty,
  .kv-profile-accordion-content,.kv-guest-list,.kv-post-attached-files,
  .kv-profile-accordion,.kv-classic-mini-details,
  .kv-lightbox-side,.detail-data>div,.event-item,
  .kv-crm-shortcuts-grid>a,.kv-ads-admin-item,.kv-crm-settings-sections
){background:var(--night-surface)!important;background-image:none!important;
 color:var(--night-text)!important;border-color:var(--night-border)!important;
 box-shadow:none!important;text-shadow:none!important}
body.shelter-dark .kv-vk-wall .kv-feed-stack>.kv-panel{
 background:transparent!important;background-image:none!important;
 border-color:var(--night-border)!important}
body.shelter-dark .kv-vk-wall .kv-feed-stack{
 background:var(--night-surface)!important;border-color:var(--night-border)!important}
body.shelter-dark :is(
  .crm-main .crm-panel,.crm-main .crm-stat,
  .crm-main .kv-crm-shortcuts-grid>a,
  .crm-main .kv-ads-admin-preview img
){background:var(--night-surface)!important;border-color:var(--night-border)!important;
 color:var(--night-text)!important}
body.shelter-dark :is(
  .crm-main .crm-head h1,.crm-main .crm-head h2,.crm-main .crm-panel h2,
  h1,h2,h3,h4,.brand strong,.kv-vk-logo strong,.kv-classic-name h1,
  .kv-msg-person h2,.kv-post strong,.crm-stat strong,
  .kv-crm-shortcuts-grid strong
){color:#ececec!important;text-shadow:none!important}
body.shelter-dark :is(
  p,small,label,dt,dd,.muted,.sidebar-caption,.kv-msg-time,.kv-msg-author,
  .crm-stat span,.crm-head p,.crm-empty,.kv-blank,.v5-pet-info p,
  .kv-settings-explain,.kv-profile-accordion dt,
  .kv-crm-shortcuts-grid small,.kv-ads-admin-preview small
){color:var(--night-muted)!important}
body.shelter-dark :is(
  a,.desktop-nav a,.crm-sidebar a,.kv-vk-sidebar a,
  .kv-side-item>a,.account-dropdown a,.kv-crm-shortcuts-grid>a,
  .crm-table a,.kv-panel a,.kv-post a
){color:var(--night-link)!important}
body.shelter-dark :is(.brand,.brand strong,.kv-msg-person a,.kv-classic-name a){color:var(--night-text)!important}
body.shelter-dark :is(
  .desktop-nav a:hover,.crm-sidebar>a:hover,.crm-sidebar>a.selected,
  .kv-vk-sidebar .kv-side-item>a:hover,.kv-vk-sidebar .kv-side-item>a.kv-selected,
  .account-dropdown a:hover,.mobile-nav a:hover,
  .kv-menu-admin-tools button,.kv-vk-friend-row:hover,
  .kv-msg-peer.selected,.kv-msg-peer:hover,
  .kv-notice-item.unread,.kv-notice-item:hover,
  .kv-guest-list a:hover,.kv-reactions-summary button:hover,
  .kv-crm-shortcuts-grid>a:hover
){background:var(--night-selected)!important;color:#ededed!important;
  border-color:var(--night-border)!important;background-image:none!important}
body.shelter-dark :is(
  .button,.kv-btn,.kv-classic-avatar-action,
  .kv-emoji-trigger,.kv-wall-emoji-button,.kv-wall-plus,
  .kv-wall-send,.kv-menu-save button,.kv-menu-admin-tools button,
  .kv-msg-more,.kv-msg-selection-action,.kv-notice-push button,
  .kv-album-set,.kv-ads-form button,.kv-msg-voice-player button,
  .kv-comment-react button,.kv-reactions-summary button,
  .status-label,.kv-voice-play,.kv-voice-send
){background:var(--night-field)!important;background-image:none!important;
 color:var(--night-text)!important;border-color:var(--night-border)!important;
 text-shadow:none!important;box-shadow:none!important}
body.shelter-dark :is(
  .button-primary,.kv-btn-primary,.kv-menu-save button:first-child,
  .kv-ads-form .button-primary,.kv-settings-form button[type=submit],
  .v5-auth-form button[type=submit]
){background:#444444!important;background-image:none!important;
 color:#fff!important;border-color:#515151!important;box-shadow:none!important}
body.shelter-dark :is(button,.button,.kv-btn):hover{
 filter:none!important;box-shadow:none!important}
body.shelter-dark :is(.button-primary,.kv-btn-primary):hover{background:#525252!important}
body.shelter-dark :is(
  input:not([type=checkbox]):not([type=radio]):not([type=file]),
  textarea,select,.kv-wall-compose,.kv-msg-compose-input,
  .kv-msg-compose-field,.crm-search input,.crm-form input,
  .kv-site-branding-form input,.kv-site-branding-form textarea,
  .kv-album-new input,.kv-album-upload input
){background:var(--night-field)!important;background-image:none!important;
 color:var(--night-text)!important;border-color:#494949!important;
 box-shadow:none!important;caret-color:#e0e0e0!important}
body.shelter-dark textarea::placeholder,body.shelter-dark input::placeholder{
 color:#979797!important}
body.shelter-dark :is(input,select,textarea,button,a):focus-visible{
 outline:2px solid var(--night-link)!important;outline-offset:2px!important}
body.shelter-dark input[type=file]{color:var(--night-muted)!important}
body.shelter-dark input[type=file]::file-selector-button{
 background:#353535!important;color:#ededed!important;
 border:1px solid #4a4a4a!important;border-radius:6px!important;padding:7px!important}
body.shelter-dark :is(
  .crm-table th,.crm-table td,.crm-table tr,
  .kv-vk-wall .kv-feed-stack>.kv-panel+.kv-panel,
  .kv-post,.kv-comment-item,.kv-msg-person,.kv-msg-bubble-footer,
  .kv-profile-accordion summary,.kv-album-header,
  .kv-msg-list-header,.kv-msg-peer,.kv-guest-list a
){border-color:var(--night-border)!important}
body.shelter-dark .crm-table th{background:#292929!important;color:#a8a8a8!important}
body.shelter-dark .crm-table td{background:var(--night-surface)!important;color:var(--night-text)!important}
body.shelter-dark .crm-table tr:hover td{background:var(--night-hover)!important}
body.shelter-dark :is(.kv-msg-thread,.kv-msg-first,.kv-msg-conversation,.kv-msg-peer-text){
 background:var(--night-bg)!important;background-image:none!important}
body.shelter-dark .kv-msg-bubble.mine{background:#303030!important}
body.shelter-dark .kv-msg-bubble.theirs{background:#252525!important}
body.shelter-dark .kv-msg-compose{background:var(--night-surface)!important}
body.shelter-dark :is(.kv-msg-voice-player,.kv-voice-waveform,.kv-voice-bar,.kv-msg-quoted){
 background:#313131!important;color:var(--night-text)!important;border-color:#484848!important}
body.shelter-dark :is(.kv-msg-more-menu,.kv-msg-emoji-menu) button{
 background:var(--night-pop)!important;color:var(--night-text)!important;
 border-color:var(--night-border)!important}
body.shelter-dark :is(.kv-msg-more-menu,.kv-msg-emoji-menu) button:hover{
 background:var(--night-hover)!important}
body.shelter-dark :is(
  .kv-notice-item,.kv-notice-tools,.kv-notice-push,.kv-notice-panel>header,
  .kv-notice-item-icon,.kv-wall-emoji-picker button,.kv-wall-emoji-picker
){background:var(--night-surface)!important;color:var(--night-text)!important;
 border-color:var(--night-border)!important}
body.shelter-dark .kv-notice-item.unread{background:#303030!important}
body.shelter-dark :is(.kv-voice-label,.kv-voice-time,.kv-notice-item-main small){color:#aaa!important}
body.shelter-dark :is(.v5-auth-art,.hero-art,.art-cloud,.v5-auth-cloud){
 background:var(--night-surface)!important;background-image:none!important}
body.shelter-dark .v5-auth-art img{border-color:#292929!important;box-shadow:none!important}
body.shelter-dark :is(.v5-pet-photo-placeholder,.v5-pet-info,.v5-demo-notice,
 .v5-demo-disclaimer,.site-footer,.kv-side-ad-empty){background:#222!important}
body.shelter-dark :is(.feature,.plan,.wide-cta,.hero, .filter-bar){
 background-color:var(--night-surface)!important;background-image:none!important}
body.shelter-dark .hero{background:var(--night-bg)!important}
body.shelter-dark .kv-album-dialog,body.shelter-dark .kv-avatar-crop-dialog{
 background:var(--night-pop)!important}
body.shelter-dark .kv-album-dialog::backdrop,
body.shelter-dark .kv-avatar-crop-dialog::backdrop{
 background:rgba(0,0,0,.85)!important}
body.shelter-dark :is(.kv-avatar-crop-body,.kv-stage52-photo-card>a,.kv-album-cover>div){
 background:#303030!important}
body.shelter-dark :is(.kv-avatar-crop-body,.kv-stage52-photo-card>a) img{
 background:transparent!important}
body.shelter-dark .kv-mobile-bottom{
 background:var(--night-surface)!important;border-color:var(--night-border)!important;
 box-shadow:none!important}
body.shelter-dark .kv-mobile-bottom a{color:#a8a8a8!important}
body.shelter-dark .kv-mobile-bottom a.is-active{
 background:var(--night-selected)!important;color:#ececec!important}
body.shelter-dark .site-header .account-dropdown{background:#252525!important}
/* Keep user uploaded photos/avatars untouched: no brightness filters or colour overlays. */
body.shelter-dark img{filter:none!important}
body.shelter-dark ::selection{background:#555;color:#fff}
@media (prefers-reduced-motion:reduce){
 body.shelter-dark *,body.shelter-dark *::before,body.shelter-dark *::after{
  transition-duration:0s!important;animation-duration:0s!important}
}

/* Stage58 responsive geometry: same horizontal edges for header and CRM. */
@media(max-width:620px){
 body .site-header .header-inner{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important}
 body.is-crm .crm-shell{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important}
}


/* Stage 59 — contrast-consistent night mode for public V4 pages, task panels and shared UI.
   Every text colour is tied to a matching dark surface; uploaded photos are kept unchanged.
   Normal light theme is untouched (all selectors scoped to body.shelter-dark). */
body.shelter-dark {
 --v4-border:#393939;
 --v4-text:#ececec;
 --v4-muted:#b6b6b6;
 --v4-link:#a8c9f4;
}
body.shelter-dark :is(
  .v4-hero,.v4-guardian-hero,.v4-about-strip,.v4-plan,
  .v4-plan:nth-child(2),.v4-editorial,.v4-catalog-empty,
  .v4-empty-news,.v4-animal-tabs a,.v4-photo-note,
  .v5-pet-card,.v5-pet-info,.v5-pet-photo-placeholder,
  .cabinet-panel,.kv-search-area,.kv-member-card,
  .kv-settings-card,.kv-stage51-main .cabinet-panel,
  .kv-stage51-page .cabinet-panel,.kv-vk-wall .cabinet-panel,
  .event-item,.kv-stage51-main .event-item,
  .kv-msg-peer,.kv-msg-list,.kv-msg-conversation,
  .kv-photo-toolbar,.kv-photo-comments,.kv-photo-action-row
){
 background:#222222!important;
 background-image:none!important;
 color:#e9e9e9!important;
 border-color:#393939!important;
 box-shadow:none!important;
 text-shadow:none!important;
}
/* Public hero and editorial cards: do not recolor images, only surrounding UI. */
body.shelter-dark :is(.v4-hero,.v4-guardian-hero,.v4-editorial,.v4-plan,.v4-about-strip,.v4-empty-news,.v4-catalog-empty){
 color:#e9e9e9!important;
}
body.shelter-dark :is(
 .v4-hero h1,.v4-guardian-hero h1,.v4-editorial-copy h2,
 .v4-catalog-copy h2,.v4-empty-news h2,.v4-about-strip h2,
 .v4-plan h3,.v4-inner-heading h1,.v4-section-intro h2,
 .v4-section-title h2,.v4-guardian-details h2,
 .v4-simple-section h2,.v4-help-links strong,
 .v4-help-editorial-links strong,.v4-guardian-details li strong,
 .v5-pet-info h2,.v5-real-heading,.v5-demo-detail h1,
 .v5-auth-form h1,.v5-auth-art h2,.v5-auth-form label,
 .kv-stage51-main .cabinet-panel h2,.kv-stage51-main .cabinet-panel strong,
 .kv-classic-info-card strong,.kv-post strong,
 .site-footer .footer-inner strong,.site-footer strong,
 .account-dropdown strong,.kv-msg-person strong,
 .kv-messages-page .kv-msg-peer-name,.kv-msg-voice-player strong
){color:#f0f0f0!important}
body.shelter-dark :is(
 .v4-hero-copy>p,.v4-guardian-copy>p,.v4-editorial-copy p,
 .v4-empty-news p,.v4-about-strip p,.v4-plan p,
 .v4-guardian-details li span,.v4-guardian-details>div>p,
 .v4-section-intro p,.v4-inner-heading p,
 .v4-help-links small,.v4-catalog-copy p,
 .v4-photo-note,.v4-quiet,.v4-plan-foot,
 .v5-pet-info p,.v5-pet-info>span,.v5-demo-detail-text>p,
 .v5-demo-detail dt,.v5-demo-disclaimer,
 .site-footer .footer-inner p,.site-footer .footer-inner small,
 .kv-stage51-main .cabinet-panel p,
 .kv-stage51-main .cabinet-panel .muted,
 .kv-stage51-main .event-item small,.kv-classic-info-card small,
 .kv-stage52-empty small,.kv-msg-bubble time
){color:#bcbcbc!important}
body.shelter-dark :is(
 .v4-help-links>a,.v4-help-editorial-links>a,
 .v4-guardian-details li,.v4-help-row,
 .v4-picture-label,.v4-editorial,.v4-plan,
 .v4-section-title,.v4-animal-photo,.v4-about-strip,
 .v4-photo-note,.v4-empty-news,.v4-catalog-empty,
 .kv-stage51-main .cabinet-panel,.kv-stage51-main .event-item
){border-color:#3b3b3b!important}
/* Clickable elements on dark backgrounds: never dark-blue-on-black. */
body.shelter-dark :is(
 .v4-section-title>a,.v4-help-links a,.v4-help-editorial-links a span,
 .v4-link-arrow,.v4-plan-foot,.v4-plan-meta,.v4-kicker,
 .v4-help-number,.v4-inner-heading a,.v4-about-strip a,
 .v4-editorial a:not(.v4-btn),.v4-empty-news a,
 .v5-pet-info a,.v5-pet-info strong,.v4-catalog-copy a,
 .site-footer a,.site-footer a:visited,.site-footer .footer-inner a,
 .kv-stage51-main a,.kv-stage51-main a:visited,
 .kv-classic-info-card a,.kv-post a,.kv-post a:visited,
 .kv-msg-person a,.kv-msg-peers a,.kv-settings-card a
){color:#a8c9f4!important}
/* Keep picture captions white over the photographs. */
body.shelter-dark .v4-picture-label,
body.shelter-dark .v4-picture-label strong,
body.shelter-dark .v4-picture-label>span{color:#fff!important}
body.shelter-dark .v4-hero-gallery figure,
body.shelter-dark .v4-guardian-gallery img{
 border-color:#3a3a3a!important;
 box-shadow:0 2px 8px rgba(0,0,0,.20)!important;
 background:#2b2b2b!important;
}
body.shelter-dark :is(.v4-cloud,.v4-cloud:before){
 background:#3a3a3a!important;opacity:.45!important}
body.shelter-dark .v4-cloud-two{background:#49413c!important}
body.shelter-dark .v4-soft-heart,
body.shelter-dark .v4-hero h1 span{color:#f0a881!important}
body.shelter-dark .v4-animal-photo{
 background:#262626!important;
 border-color:#393939!important;
}
/* Image cards must keep their own photo overlays, not get a generic dark veil. */
body.shelter-dark .v4-animal-photo:after{
 background:linear-gradient(transparent,rgba(0,0,0,.68))!important}
body.shelter-dark .v4-help-number,
body.shelter-dark .v4-empty-news>span{
 background:#353535!important;color:#e7e7e7!important;
 border-color:#454545!important}
body.shelter-dark .v4-plan:nth-child(2) .v4-plan-meta{color:#deb98f!important}
body.shelter-dark .v4-animal-tabs a,
body.shelter-dark .v4-btn.v4-outline{
 background:#333!important;border:1px solid #494949!important;
 color:#ebebeb!important;box-shadow:none!important}
body.shelter-dark .v4-animal-tabs a.v4-active,
body.shelter-dark .v4-btn.v4-primary{
 background:#3e608f!important;border-color:#5073a3!important;
 color:#fff!important}
body.shelter-dark .v4-btn.v4-primary:hover,
body.shelter-dark .v4-animal-tabs a.v4-active:hover{background:#4b719f!important}
body.shelter-dark .v4-btn.v4-outline:hover,
body.shelter-dark .v4-animal-tabs a:not(.v4-active):hover{background:#404040!important}
/* Cabinet and social view: solid panels instead of pure-white card on dark body. */
body.shelter-dark.is-community :is(
 .cabinet-panel,.kv-stage51-main .cabinet-panel,.kv-search-area,
 .kv-member-card,.kv-post,.kv-composer,.kv-panel
){background:#222!important;color:#e9e9e9!important;border-color:#393939!important}
body.shelter-dark :is(.cabinet-panel,.kv-search-area,.kv-member-card) :is(h1,h2,h3,strong){
 color:#f0f0f0!important}
body.shelter-dark :is(.cabinet-panel,.kv-search-area,.kv-member-card) :is(p,small,span.muted){
 color:#bababa!important}
body.shelter-dark .kv-stage51-main .event-item{
 background:#292929!important;color:#e9e9e9!important;border-left-color:#666!important}
body.shelter-dark .kv-stage51-main .event-item strong{color:#ededed!important}
/* Shared footer / header must be readable, including site name and contact metadata. */
body.shelter-dark .site-footer{
 background:#222!important;color:#e6e6e6!important;border-color:#393939!important}
body.shelter-dark .footer-inner{color:#e4e4e4!important}
body.shelter-dark :is(.site-footer strong,.site-footer h2,.site-footer .footer-inner strong){
 color:#ededed!important}
body.shelter-dark :is(.site-footer p,.site-footer small,.site-footer .footer-inner p){
 color:#bcbcbc!important}
body.shelter-dark .site-header :is(.brand,.brand strong,.brand small){
 color:#eaeaea!important}
body.shelter-dark .site-header .desktop-nav a{color:#c2cbd7!important}
body.shelter-dark .site-header .desktop-nav a:hover,
body.shelter-dark .site-header .desktop-nav a.active{color:#fff!important}
/* Message preview: no dark-on-darker text or white form panels */
body.shelter-dark :is(.kv-msg-peer .kv-msg-name,.kv-msg-person .kv-msg-name,
 .kv-msg-bubble,.kv-msg-bubble strong,.kv-msg-bubble p,.kv-msg-thread p){
 color:#ececec!important}
body.shelter-dark :is(.kv-msg-preview,.kv-msg-time,.kv-msg-person small,
 .kv-msg-peer small,.kv-msg-voice-player small,.kv-voice-label){
 color:#b9b9b9!important}
body.shelter-dark :is(.kv-msg-peers,.kv-msg-thread){
 border-color:#393939!important}
/* Maintain a single neutral palette for hover/focus controls. */
body.shelter-dark :is(.kv-wall-emoji-picker button,.kv-comment-actions button,
 .kv-msg-more-menu button,.kv-msg-reaction-menu button):hover{
 background:#383838!important;color:#fff!important}
/* This stylesheet deliberately does not touch light-mode colors. */

/* Stage59: explicit unreadable chat labels; previously they inherited hardcoded navy. */
body.shelter-dark :is(
 .kv-msg-peer-text strong,.kv-msg-peer-text b,.kv-msg-person h2,
 .kv-msg-row strong,.kv-msg-bubble b,.kv-msg-bubble strong,
 .kv-msg-quote strong,.kv-msg-quote b,.kv-msg-quoted strong
){color:#f0f0f0!important}
body.shelter-dark :is(
 .kv-msg-peer-text small,.kv-msg-person small,
 .kv-msg-row small,.kv-msg-preview,.kv-msg-quote small
){color:#bababa!important}
body.shelter-dark .kv-msg-peer:hover,
body.shelter-dark .kv-msg-peer.selected{
 background:#323232!important;color:#ededed!important}
body.shelter-dark .kv-msg-peer.selected .kv-msg-peer-text strong{color:#fff!important}


/* Stage60: every social overlay uses ONE neutral night surface. */
body.shelter-dark .kv-msg-peer-text,
body.shelter-dark .kv-msg-peer .kv-msg-peer-text{
 background:transparent!important;background-image:none!important;
 box-shadow:none!important;border:0!important
}
body.shelter-dark .kv-msg-peer:hover,
body.shelter-dark .kv-msg-peer.selected{
 background:#2b2b2b!important;border-color:#3b3b3b!important
}
body.shelter-dark .kv-msg-row .kv-msg-bubble{
 box-shadow:none!important;border:1px solid #464646!important;
 color:#ededed!important
}
body.shelter-dark .kv-msg-row .kv-msg-bubble.mine{background:#2b2b2b!important}
body.shelter-dark .kv-msg-row .kv-msg-bubble.theirs{background:#252525!important}
body.shelter-dark .kv-msg-row .kv-msg-voice-player,
body.shelter-dark .kv-msg-row .kv-msg-quoted{
 background:#303030!important;color:#e5e5e5!important;border-color:#454545!important
}
body.shelter-dark .kv-msg-row .kv-voice-label,
body.shelter-dark .kv-msg-row .kv-voice-time,
body.shelter-dark .kv-msg-bubble-footer time{color:#bcbcbc!important}
body.shelter-dark .kv-msg-reply-strip,
body.shelter-dark .kv-msg-selection-bar{
 background:#292929!important;color:#e4e4e4!important;
 border-color:#3b3b3b!important
}
body.shelter-dark .kv-msg-reply-strip :is(span,strong,button),
body.shelter-dark .kv-msg-selection-bar :is(span,strong,button){color:#e5e5e5!important}
body.shelter-dark .kv-vk-wall .kv-post-photo img,
body.shelter-dark .kv-vk-wall .kv-post-photo-gallery img,
body.shelter-dark .kv-vk-wall .kv-post-photo-gallery a{
 background:#222!important;border:0!important;box-shadow:none!important
}
body.shelter-dark .kv-photo-dialog{
 background:#222!important;color:#ececec!important;
 border:1px solid #393939!important;box-shadow:0 12px 65px #0009!important
}
body.shelter-dark .kv-photo-dialog::backdrop{background:rgba(0,0,0,.88)!important}
body.shelter-dark .kv-photo-dialog-content,
body.shelter-dark .kv-lightbox-side,
body.shelter-dark .kv-lightbox-head,
body.shelter-dark .kv-lightbox-chat,
body.shelter-dark .kv-lightbox-chat .kv-post-comments,
body.shelter-dark .kv-lightbox-chat .kv-comments-tree,
body.shelter-dark .kv-lightbox-chat .kv-comments-title,
body.shelter-dark .kv-lightbox-chat form[data-kv-comment-form],
body.shelter-dark .kv-lightbox-chat form[data-kv-avatar-comment-form],
body.shelter-dark .kv-lightbox-chat .kv-comment-main,
body.shelter-dark .kv-lightbox-author,
body.shelter-dark .kv-lightbox-toolbar{
 background:#222!important;background-image:none!important;
 color:#ececec!important;border-color:#3a3a3a!important;
 box-shadow:none!important
}
body.shelter-dark .kv-lightbox-photo-pane{background:#191919!important}
body.shelter-dark .kv-lightbox-head>strong,
body.shelter-dark .kv-lightbox-chat .kv-comments-title,
body.shelter-dark .kv-lightbox-chat .kv-comment-meta a,
body.shelter-dark .kv-lightbox-author>a{
 color:#eaeaea!important
}
body.shelter-dark .kv-lightbox-side p,
body.shelter-dark .kv-lightbox-chat .kv-comment-main>p{color:#d0d0d0!important}
body.shelter-dark .kv-lightbox-chat .kv-comment-meta time,
body.shelter-dark .kv-lightbox-chat .kv-comment-buttons button,
body.shelter-dark .kv-lightbox-gallery-note{color:#ababab!important}
body.shelter-dark .kv-lightbox-chat .kv-comment .kv-comment{
 background:#222!important;border-left:1px solid #414141!important
}
body.shelter-dark .kv-lightbox-chat textarea,
body.shelter-dark .kv-lightbox-chat input,
body.shelter-dark .kv-share-popover textarea{
 color:#e9e9e9!important;background:#303030!important;
 border:1px solid #464646!important
}
body.shelter-dark .kv-photo-dialog .kv-like-button,
body.shelter-dark .kv-photo-dialog .kv-share-arrow,
body.shelter-dark .kv-photo-dialog .kv-emoji-trigger,
body.shelter-dark .kv-photo-dialog .kv-btn,
body.shelter-dark .kv-photo-dialog .kv-lightbox-avatar-action button{
 background:#333!important;color:#ededed!important;
 border-color:#4a4a4a!important;box-shadow:none!important
}
body.shelter-dark .kv-photo-dialog .kv-like-button.is-liked{color:#ff8f9d!important}
body.shelter-dark .kv-photo-dialog .kv-btn-primary{background:#444!important;color:#f3f3f3!important}
body.shelter-dark .kv-share-popover,
body.shelter-dark .kv-share-popover-heading,
body.shelter-dark .kv-share-options{
 background:#2a2a2a!important;color:#eaeaea!important;border-color:#454545!important
}
body.shelter-dark .kv-lightbox-nav,
body.shelter-dark .kv-lightbox-nav:hover,
body.shelter-dark .kv-lightbox-nav:focus-visible,
body.shelter-dark .kv-classic-avatar-frame .kv-avatar-slide,
body.shelter-dark .kv-album-dialog-stage>button{
 background:transparent!important;color:#fff!important;
 border:0!important;box-shadow:none!important
}
body.shelter-dark .kv-lightbox-nav svg{color:#fff!important}
body.shelter-dark .kv-lightbox-chat .kv-comments-tree,
body.shelter-dark .kv-lightbox-side{
 scrollbar-width:none!important;-ms-overflow-style:none!important
}
body.shelter-dark .kv-lightbox-chat .kv-comments-tree::-webkit-scrollbar,
body.shelter-dark .kv-lightbox-side::-webkit-scrollbar{
 display:none!important;width:0!important;height:0!important
}


/* Stage61 — neutral photo letterboxes at night; night comments and profile only. */
body.shelter-dark .kv-vk-wall :is(.kv-post-photo img,.kv-post-photo-gallery a,.kv-post-photo-gallery img){
 background:#222!important;background-image:none!important;
 border:0!important;box-shadow:none!important;
}
body.shelter-dark .kv-lightbox-photo-pane{
 background:#191919!important;
}
body.shelter-dark .kv-post-comments .kv-comment-compose{
 background:#303030!important;color:#e5e5e5!important;
 border:1px solid #494949!important;box-shadow:none!important;
}
body.shelter-dark .kv-post-comments .kv-comment-compose textarea{
 background:transparent!important;color:#ececec!important;
 border:0!important;box-shadow:none!important;
}
body.shelter-dark .kv-post-comments .kv-comment-compose textarea::placeholder{color:#aaa!important}
body.shelter-dark .kv-comment-compose .kv-emoji-trigger{
 background:transparent!important;color:#b6b6b6!important;border:0!important
}
body.shelter-dark .kv-comment-compose .kv-comment-send{
 background:transparent!important;color:#a8c9f4!important;border:0!important
}
body.shelter-dark .kv-comment-compose .kv-comment-send:hover{color:#e0e0e0!important}
body.shelter-dark .kv-post-comments .kv-comment-compose .kv-wall-emoji-picker{
 background:#272727!important;color:#e5e5e5!important;border:1px solid #454545!important;
}
body.shelter-dark .kv-heart-button,
body.shelter-dark .kv-like-button.kv-heart-button,
body.shelter-dark .kv-comment-buttons .kv-heart-button{
 background:transparent!important;color:#858c96!important;
 border:0!important;box-shadow:none!important
}
body.shelter-dark .kv-heart-button.is-liked,
body.shelter-dark .kv-like-button.kv-heart-button.is-liked,
body.shelter-dark .kv-comment-buttons .kv-heart-button.is-liked{color:#e27086!important}
body.shelter-dark .kv-heart-button:hover,
body.shelter-dark .kv-like-button.kv-heart-button:hover{color:#f08c9d!important;background:transparent!important}
body.shelter-dark .kv-settings-vk-all,
body.shelter-dark .kv-settings-vk-all-body,
body.shelter-dark .kv-settings-vk-group{
 background:#222!important;border-color:#3a3a3a!important;color:#ececec!important
}
body.shelter-dark .kv-settings-vk-all>summary{
 background:#292929!important;color:#ededed!important;border-bottom:1px solid #3a3a3a!important
}
body.shelter-dark .kv-settings-vk-group h3{
 color:#e8e8e8!important
}
body.shelter-dark .kv-settings-vk-grid label>span{color:#bcbcbc!important}
body.shelter-dark .kv-profile-accordion .kv-vk-profile-more,
body.shelter-dark .kv-profile-accordion .kv-profile-accordion-content{
 background:#222!important;color:#e7e7e7!important
}

/* Stage61 last pass: privacy widget and profile details match neutral night. */
body.shelter-dark .kv-settings-visibility,
body.shelter-dark .kv-settings-vk-intro,
body.shelter-dark .kv-settings-vk-form,
body.shelter-dark .kv-settings-vk-save{
 background:#222!important;color:#e4e4e4!important;
 border-color:#414141!important;box-shadow:none!important
}
body.shelter-dark .kv-settings-visibility small,
body.shelter-dark .kv-settings-vk-intro p,
body.shelter-dark .kv-vk-private-note{color:#bdbdbd!important}
body.shelter-dark .kv-settings-visibility label,
body.shelter-dark .kv-settings-vk-save a{color:#d6d6d6!important}
body.shelter-dark .kv-classic-info-body dt,
body.shelter-dark .kv-vk-profile-more dt{color:#aaa!important}
body.shelter-dark .kv-classic-info-body dd,
body.shelter-dark .kv-vk-profile-more dd{color:#e1e1e1!important}
body.shelter-dark .kv-vk-profile-more h3{color:#e9e9e9!important}
body.shelter-dark .kv-post-comments .kv-comments-title{color:#ececec!important}
body.shelter-dark .kv-post-comments .kv-comment-main p{color:#d3d3d3!important}
