/* =========================================================
   LOVI DESIGN V4 — unify the complete legacy interface with
   the dark City / Premium concept.
   Presentation layer only.
   ========================================================= */
:root{
  --v4-bg:#03070c;
  --v4-panel:#071019;
  --v4-panel-2:#0b1520;
  --v4-card:#0d1823;
  --v4-line:rgba(255,255,255,.09);
  --v4-line-strong:rgba(255,255,255,.15);
  --v4-text:#f4f7fb;
  --v4-muted:#9baabd;
  --v4-blue:#1597ff;
  --v4-blue-2:#0877ef;
  --v4-orange:#ff6a32;
  --v4-green:#43d49b;
  --v4-danger:#ff5b61;
  --v4-shadow:0 24px 70px rgba(0,0,0,.42);
  --v4-radius:20px;
}

html,body{background:var(--v4-bg)!important;color:var(--v4-text)!important}
body{overflow-x:hidden}
button,input,textarea,select{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}

/* Header */
.site-header{height:78px!important;background:rgba(3,7,12,.88)!important;border-bottom:1px solid var(--v4-line)!important;box-shadow:0 8px 30px rgba(0,0,0,.22);backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.brand-main{color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important}
.brand-main .brand-mark{background:#fff!important;color:#071019!important;border-radius:12px!important}
.brand-main .brand-name{color:#fff!important}
.desktop-nav button,.header-link{color:#aebdca!important}
.desktop-nav button:hover,.header-link:hover{color:#fff!important}
.desktop-create-link{color:#fff!important;background:rgba(21,151,255,.12)!important;border:1px solid rgba(21,151,255,.28)!important;border-radius:999px!important;padding:9px 14px!important}
.desktop-create-link:hover{background:rgba(21,151,255,.2)!important}
.header-primary{background:linear-gradient(135deg,var(--v4-blue),var(--v4-blue-2))!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 28px rgba(21,151,255,.22)!important}

/* Hide the bottom dock on desktop: desktop uses the top navigation. */
@media(min-width:901px){.bottom-nav{display:none!important}}

/* Shared dark surface */
.sheet,.modalbox,.app-dialog-card{background:linear-gradient(180deg,#0a141f,#071019)!important;color:var(--v4-text)!important;border:1px solid var(--v4-line)!important;box-shadow:var(--v4-shadow)!important}
.sheet{border-radius:26px!important}
.sheet-note,.muted{color:var(--v4-muted)!important}
.eyebrow{color:#68c5ff!important}

/* Legacy sheets: jobs, favorites, my jobs, history */
body[class*="route-"] #sheet:not(.hidden){color:var(--v4-text)!important}
body[class*="route-"] #sheet:not(.hidden) h2{color:#fff!important;font-size:clamp(28px,3.5vw,44px)!important;letter-spacing:-.045em!important}
body[class*="route-"] #sheet:not(.hidden) .sheet-note{margin-bottom:18px}
#jobList,#myCurrentJobs,#historyJobList{display:grid;gap:12px}
.job-card{background:linear-gradient(145deg,#0d1823,#09121b)!important;border:1px solid var(--v4-line)!important;color:#fff!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.2)!important}
.job-card:hover{border-color:rgba(21,151,255,.45)!important;box-shadow:0 16px 34px rgba(0,0,0,.28)!important}
.job-title{color:#fff!important;font-weight:850!important}
.price{color:#fff!important;font-weight:900!important}
.chip{background:#111f2c!important;color:#a9b8c7!important;border:1px solid var(--v4-line)!important}

/* Buttons throughout the legacy UI */
.primary{background:linear-gradient(135deg,var(--v4-blue),var(--v4-blue-2))!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:0 8px 22px rgba(21,151,255,.16)!important}
.primary:hover{background:linear-gradient(135deg,#2aa3ff,#0a82ff)!important;transform:translateY(-1px)}
.secondary{background:rgba(21,151,255,.11)!important;border:1px solid rgba(21,151,255,.22)!important;color:#75c8ff!important}
.secondary:hover{background:rgba(21,151,255,.2)!important;color:#fff!important}
.ghost{background:#0b141e!important;border:1px solid var(--v4-line)!important;color:#dbe5ee!important}
.ghost:hover{background:#101d29!important;border-color:var(--v4-line-strong)!important}

/* Forms */
.field,.app-dialog-input{background:#08121b!important;color:#f3f6fa!important;border:1px solid var(--v4-line)!important;border-radius:14px!important}
.field::placeholder,.app-dialog-input::placeholder{color:#718396!important}
.field:focus,.app-dialog-input:focus{border-color:rgba(21,151,255,.65)!important;box-shadow:0 0 0 3px rgba(21,151,255,.12)!important}
label{color:#d8e1ea!important}

/* Modals */
.modal{background:rgba(0,0,0,.72)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}
.modalbox{width:min(680px,calc(100vw - 32px))!important;max-height:min(88vh,900px);overflow:auto;border-radius:24px!important}
.modalhead{border-bottom:1px solid var(--v4-line)!important}
.modalhead h2{color:#fff!important;letter-spacing:-.035em}
.close,.app-dialog-close{background:#0e1a26!important;border:1px solid var(--v4-line)!important;color:#9db0c0!important}
.close:hover,.app-dialog-close:hover{background:#162534!important;color:#fff!important}

/* Auth */
.authbox{background:radial-gradient(circle at 85% 0%,rgba(21,151,255,.13),transparent 35%),linear-gradient(180deg,#091522,#060d14)!important}
.authbox .primary{width:100%;margin-top:8px}
.authbox .ghost{width:100%;margin-top:10px}

/* Create order */
#createM .modalbox{background:radial-gradient(circle at 90% 0%,rgba(21,151,255,.12),transparent 32%),linear-gradient(180deg,#091522,#060d14)!important}
#createM .location-card{background:linear-gradient(145deg,#0d1925,#09121b)!important;border:1px solid var(--v4-line)!important;border-radius:18px!important}
#createM .location-title b{color:#fff!important}
#createM .location-title small{color:var(--v4-muted)!important}
#createM .location-icon{background:rgba(21,151,255,.12)!important;color:#61bfff!important}

/* Detail / public profile */
#detail .job-card,#userprof .job-card{background:#0b1621!important}
#detail .location-box,#userprof .location-box{background:#0b1621!important;border:1px solid var(--v4-line)!important;color:#eaf0f5!important;border-radius:16px!important}
.profile-hero-modern,.profile-hero{background:linear-gradient(145deg,#0e1b28,#08121b)!important;border:1px solid var(--v4-line)!important;color:#fff!important}
.profile-main-info b,.profile-hero b{color:#fff!important}
.profile-stats{background:transparent!important}
.profile-stats .stat{background:#0b1621!important;border:1px solid var(--v4-line)!important;color:#fff!important;border-radius:16px!important}
.profile-settings-card,.profile-online-card{background:#0b1621!important;border:1px solid var(--v4-line)!important;color:#fff!important;border-radius:18px!important}
.profile-section-title{color:#78caff!important}
.profile-setting-row{color:#fff!important;border-bottom-color:var(--v4-line)!important}
.setting-copy small{color:var(--v4-muted)!important}
.setting-icon{background:#101f2d!important;color:#68c5ff!important}
.logout-button{background:rgba(255,91,97,.09)!important;border:1px solid rgba(255,91,97,.25)!important;color:#ff858a!important;border-radius:14px!important}

/* Public user profile reviews */
.review-card{background:#0c1823!important;border-color:var(--v4-line)!important;color:#e9f0f6!important}

/* Favorites */
#sheet .orders-section-tab{background:#0b1621!important;border-color:var(--v4-line)!important;color:#dce5ed!important}
#sheet .orders-section-tab.active{background:linear-gradient(135deg,var(--v4-blue),var(--v4-blue-2))!important;border-color:transparent!important;color:#fff!important}
#sheet .orders-empty{background:#0b1621!important;border:1px solid var(--v4-line)!important;color:#fff!important}

/* Offer banner */
.job-offer-banner{background:linear-gradient(145deg,#0d1b29,#07121c)!important;border:1px solid rgba(21,151,255,.35)!important;color:#fff!important;box-shadow:0 20px 55px rgba(0,0,0,.42)!important;border-radius:20px!important}
.job-offer-banner .muted{color:#9fb0c1!important}

/* 2GIS picker */
.picker{background:#03070c!important}
.picker-top{background:transparent!important;box-shadow:none!important}
.picker-search,.picker-suggestions,.picker-coords-panel{background:#0a141e!important;color:#fff!important;border-color:var(--v4-line)!important}
.picker-search::placeholder{color:#72869a!important}
.picker-suggestion{background:#0a141e!important;color:#fff!important;border-color:var(--v4-line)!important}
.picker-suggestion:hover{background:#101f2d!important}
.picker-coords-toggle{color:#75c8ff!important}
.picker-actions{background:transparent!important;box-shadow:none!important;color:#fff!important}

/* Order map page */
.orders-page{background:#03070c!important}
.orders-sidebar{background:linear-gradient(180deg,#071019,#050c13)!important;border-right-color:var(--v4-line)!important}
.orders-title-row h1{color:#fff!important;letter-spacing:-.04em}
.orders-title-row h1 span{background:#112131!important;color:#87a0b5!important}
.orders-search{background:#0b1621!important;border-color:var(--v4-line)!important}
.orders-search input{color:#fff!important}
.orders-search input::placeholder{color:#718498!important}
.orders-filters button{background:#0b1621!important;border-color:var(--v4-line)!important;color:#aebdca!important}
.orders-filters button.active{background:var(--v4-blue)!important;border-color:var(--v4-blue)!important;color:#fff!important}
.public-job-card{background:linear-gradient(145deg,#0d1823,#09121b)!important;border-color:var(--v4-line)!important;color:#fff!important}
.public-job-card:hover{border-color:rgba(21,151,255,.55)!important;box-shadow:0 12px 28px rgba(0,0,0,.25)}
.public-job-card .pj-price{color:#fff!important}
.public-job-card .pj-address,.public-job-card .pj-meta{color:#8fa4b7!important}
.pj-tag{background:rgba(21,151,255,.11)!important;color:#72c8ff!important}
.map-top-controls button,.map-status{background:rgba(5,12,19,.9)!important;border-color:var(--v4-line)!important;color:#fff!important}

/* Bottom navigation mobile */
.bottom-nav{background:rgba(7,16,25,.94)!important;border-color:var(--v4-line)!important;box-shadow:0 18px 55px rgba(0,0,0,.55)!important}
.bottom-nav button{color:#8094a7!important}
.bottom-nav button.active{background:#0f1d2a!important;color:#fff!important}
.bottom-nav .create-btn span{background:linear-gradient(135deg,var(--v4-blue),var(--v4-blue-2))!important}

/* Toasts */
.toast{background:#0d1823!important;color:#fff!important;border:1px solid var(--v4-line)!important;box-shadow:0 15px 40px rgba(0,0,0,.4)!important}
.toast.error{background:#ff3b30!important;color:#080808!important}

/* Desktop spacing: make every internal screen breathe like the landing page */
@media(min-width:901px){
  body.route-create #createM .modalbox,body.route-profile #prof .modalbox{width:min(760px,calc(100vw - 80px))!important}
  body.route-create #createM .modalbox{max-height:calc(100vh - 120px)}
  body[class*="route-"] #sheet:not(.hidden){padding-top:108px!important;padding-bottom:50px!important}
}

/* Tablet */
@media(min-width:651px) and (max-width:1100px){
  .modalbox{width:min(680px,calc(100vw - 40px))!important}
}

/* Mobile: make legacy interface feel native and vertically scrollable */
@media(max-width:900px){
  .site-header{height:64px!important}
  .landing-page{padding-top:78px!important}
  body[class*="route-"] #sheet:not(.hidden){padding:84px 12px calc(92px + env(safe-area-inset-bottom))!important}
  .modal{align-items:flex-end!important;padding:0!important}
  .modalbox{width:100%!important;max-width:none!important;max-height:92vh!important;border-radius:26px 26px 0 0!important;padding:20px!important}
  .modalhead{position:sticky;top:-20px;z-index:5;background:linear-gradient(180deg,#091522 75%,transparent)!important;padding-top:3px}
  #createM .modalbox,#auth .modalbox,#detail .modalbox,#prof .modalbox,#userprof .modalbox{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
  #sheet .job-card{padding:14px!important}
  .profile-stats{grid-template-columns:repeat(2,1fr)!important}
  .two-col{grid-template-columns:1fr!important}
  .job-offer-banner{left:10px!important;right:10px!important;bottom:82px!important}
}

@media(max-width:480px){
  .landing-page{padding-left:10px!important;padding-right:10px!important}
  .modalbox{padding:16px!important}
  .modalhead{top:-16px}
  .profile-settings-card,.profile-online-card{border-radius:16px!important}
  .job-title{font-size:15px!important}
  .price{font-size:17px!important}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* =========================================================
   LOVI AUTH SHELL — guest landing vs authenticated app
   ========================================================= */
.guest-nav.hidden,.guest-actions.hidden,.auth-nav.hidden,.auth-actions.hidden{display:none!important}
body.authenticated .landing-page{display:none!important}
body.authenticated .site-header{position:fixed}
body.authenticated .bottom-nav{display:flex!important}
body.guest .bottom-nav{display:none!important}
body.guest .auth-nav,body.guest .auth-actions{display:none!important}
body.authenticated .guest-nav,body.authenticated .guest-actions{display:none!important}
@media(min-width:901px){body.authenticated .bottom-nav{display:none!important}}

/* FIX: 2GIS карта должна быть видима именно на странице Заказы.
   Старое правило style.css скрывало #map на всех route-* и оставляло
   видимым только route-map, которого после новой навигации нет. */
body.route-orders .orders-page,
body.route-orders .orders-map-wrap,
body.route-orders .orders-map-wrap #map {
  display: block !important;
}
body.route-orders .orders-page {
  display: grid !important;
}
body.route-orders .orders-map-wrap {
  min-width: 0;
  min-height: 0;
}
body.route-orders .orders-map-wrap #map {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Category icons for order cards */
.job-line{align-items:center!important}
.job-category-icon{width:48px;height:48px;min-width:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(21,151,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.job-category-icon svg{stroke-width:1.9}
.job-category-icon img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.job-category-icon{background:rgba(21,151,255,.08);overflow:hidden}
.category-cleaning{background:rgba(231,168,48,.18);color:#f2b83f}
.category-repair{background:rgba(21,151,255,.18);color:#36a9ff}
.category-delivery{background:rgba(231,168,48,.16);color:#f0b43a}
.category-transport{background:rgba(255,113,48,.16);color:#ff8248}
.category-home{background:rgba(75,184,111,.16);color:#55c67b}
.category-garden{background:rgba(65,183,110,.16);color:#62cf83}
.category-it{background:rgba(126,91,255,.17);color:#a18bff}
.category-auto{background:rgba(61,156,255,.17);color:#58adff}
.category-work{background:rgba(255,139,61,.17);color:#ff9a55}
.category-events{background:rgba(218,78,178,.17);color:#e784d0}
.category-pets{background:rgba(38,185,143,.17);color:#4bd2aa}
.category-other{background:rgba(139,155,174,.16);color:#a9b7c6}
.pj-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}
.public-job-card .job-category-icon{width:38px;height:38px;min-width:38px;border-radius:12px}
.public-job-card .job-category-icon svg{width:19px;height:19px}
.public-job-card .job-category-icon img{width:34px;height:34px}


/* Order settings: protection actions live inside the settings section. */
.order-settings {
  border: 1px solid rgba(30, 161, 255, .48);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(7, 27, 43, .72);
}
.order-settings-toggle {
  border: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.order-settings-toggle > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.order-settings-chevron {
  font-size: 22px;
  line-height: 1;
  transition: transform .2s ease;
}
.order-settings.is-open .order-settings-chevron {
  transform: rotate(180deg);
}
.order-settings-body {
  border-top: 1px solid rgba(30, 161, 255, .28);
  padding: 12px;
}
.order-settings-protection {
  padding: 2px 0 0;
}

/* =========================================================
   V13 — clean controls: no inappropriate scrollbars / pills
   ========================================================= */

/* Order category filters: wrap into neat rows instead of a horizontal scrollbar. */
.orders-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
  scrollbar-width: none;
}
.orders-filters::-webkit-scrollbar { display: none; }
.orders-filters button {
  flex: 0 0 auto;
  white-space: nowrap;
  min-height: 36px;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  font-size: 12px;
}

/* Profile statistics: compact cards, not stretched horizontal bars. */
.profile-stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 12px 0 14px !important;
  width: 100% !important;
}
.profile-stats .stat {
  min-width: 0 !important;
  min-height: 66px !important;
  padding: 10px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, #0d1a26, #09131d) !important;
}
.profile-stats .stat b {
  display: block !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.profile-stats .stat span {
  display: block !important;
  color: var(--v4-muted) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .orders-filters {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
  .profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* V14 — force profile statistics to be compact cards. */
.profile-stats.stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 8px !important;
}
.profile-stats.stats > .stat {
  display: flex !important;
  flex: none !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 64px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  text-align: center !important;
  border: 1px solid var(--v4-line) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#0d1a26,#09131d) !important;
}
.profile-stats.stats > .stat b,
.profile-stats.stats > .stat span {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
@media (max-width: 900px) {
  .profile-stats.stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* V15 — compact profile layout: fit the complete profile on desktop without page scrolling. */
@media (min-width: 901px) {
  body.route-profile #prof {
    padding: 74px 18px 14px !important;
    overflow-y: hidden !important;
  }

  body.route-profile #prof .modalbox {
    width: min(650px, calc(100vw - 120px)) !important;
    max-height: none !important;
  }

  body.route-profile #prof #pc {
    width: 100% !important;
  }

  body.route-profile #prof .profile-hero-modern {
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    border-radius: 15px !important;
  }

  body.route-profile #prof .profile-main-info > b {
    font-size: 16px !important;
    margin-bottom: 1px !important;
  }

  body.route-profile #prof .profile-status {
    margin-top: 4px !important;
    font-size: 11px !important;
  }

  body.route-profile #prof .profile-online-card {
    margin: 8px 0 !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;
  }

  body.route-profile #prof .online-title {
    margin-bottom: 2px !important;
    font-size: 13px !important;
  }

  body.route-profile #prof .profile-online-card .muted {
    font-size: 10px !important;
  }

  body.route-profile #prof .online-switch {
    width: 50px !important;
    height: 29px !important;
    flex-basis: 50px !important;
    padding: 3px !important;
  }

  body.route-profile #prof .online-switch span {
    width: 23px !important;
    height: 23px !important;
  }

  body.route-profile #prof .online-switch.on span {
    transform: translateX(21px) !important;
  }

  body.route-profile #prof .profile-stats.stats {
    gap: 6px !important;
    margin: 8px 0 10px !important;
  }

  body.route-profile #prof .profile-stats.stats > .stat {
    min-height: 50px !important;
    padding: 6px !important;
    border-radius: 11px !important;
  }

  body.route-profile #prof .profile-stats.stats > .stat b {
    font-size: 14px !important;
  }

  body.route-profile #prof .profile-stats.stats > .stat span {
    font-size: 9px !important;
  }

  body.route-profile #prof .profile-section-title {
    margin: 10px 2px 5px !important;
    font-size: 10px !important;
  }

  body.route-profile #prof .profile-settings-card {
    border-radius: 14px !important;
  }

  body.route-profile #prof .profile-setting-row {
    min-height: 49px !important;
    padding: 7px 10px !important;
    gap: 9px !important;
  }

  body.route-profile #prof .setting-icon {
    width: 29px !important;
    height: 29px !important;
    flex-basis: 29px !important;
    border-radius: 9px !important;
  }

  body.route-profile #prof .setting-copy b {
    font-size: 12px !important;
  }

  body.route-profile #prof .setting-copy small {
    margin-top: 1px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }

  body.route-profile #prof .setting-arrow {
    font-size: 20px !important;
  }

  body.route-profile #prof .setting-badge {
    padding: 4px 7px !important;
    font-size: 8px !important;
  }

  body.route-profile #prof .theme-switch {
    width: 62px !important;
    height: 30px !important;
    flex-basis: 62px !important;
  }

  body.route-profile #prof .theme-switch .theme-thumb {
    width: 24px !important;
    height: 24px !important;
  }

  body.route-profile #prof .theme-switch.on .theme-thumb {
    transform: translateX(32px) !important;
  }

  body.route-profile #prof .theme-switch .theme-icon {
    font-size: 14px !important;
  }

  body.route-profile #prof .logout-button {
    min-height: 42px !important;
    margin-bottom: 0 !important;
    border-radius: 12px !important;
    font-size: 12px !important;
  }
}


/* LOVI v17 — new official project emblem */
.brand-logo-image{
  display:block;
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
  border-radius:12px;
}
.brand-main{gap:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.brand-main .brand-logo-image{filter:none}
@media (max-width:700px){
  .brand-logo-image{width:40px;height:40px;flex-basis:40px;border-radius:10px}
}


/* LOVI v18 — separate header emblem and cleaner navigation spacing */
.brand-logo-image{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
@media (min-width:901px){
  .site-header .guest-nav,
  .site-header .auth-nav{
    margin-left:20px!important;
  }
}
@media (max-width:700px){
  .brand-logo-image{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
}


/* LOVI v22 — маршрут не блокирует выполнение заказа; компактная панель вместо сырых 2GIS-сообщений */
.lovi-route-panel{
  position:fixed!important;left:50%!important;bottom:24px!important;transform:translateX(-50%)!important;z-index:1200!important;
  width:min(520px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:12px;padding:14px 16px!important;
  border:1px solid rgba(37,99,235,.22)!important;border-radius:16px!important;background:var(--card,#fff)!important;
  box-shadow:0 16px 45px rgba(15,23,42,.18)!important;color:var(--text,#111827)!important;
}
.lovi-route-panel-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:rgba(37,99,235,.10);color:#2563eb}
.lovi-route-panel-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.lovi-route-panel-copy>b{font-size:14px}.lovi-route-panel-copy>span{font-size:12px;line-height:1.4;color:var(--muted,#64748b)}
.lovi-route-actions{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap}.lovi-route-actions button{min-height:34px!important;padding:7px 11px!important;font-size:11px!important;border-radius:10px!important}.lovi-route-panel .lovi-route-close{flex:0 0 auto}
@media(max-width:700px){.lovi-route-panel{bottom:76px!important;width:calc(100vw - 20px);padding:12px!important}.lovi-route-panel-icon{width:34px;height:34px;flex-basis:34px}}

/* Main-menu informational routes */
body.route-performers #sheet, body.route-how-it-works #sheet { display:block !important; }
body.route-performers .bottom-nav, body.route-how-it-works .bottom-nav { opacity:.55; }
body.route-performers #sheet .job-card, body.route-how-it-works #sheet .job-card { margin-top:12px; padding:18px; border:1px solid var(--v4-line); border-radius:18px; background:#0b1621; }

/* =========================================================
   PROFILE — visual redesign based on approved sketch
   ========================================================= */
.lovi-profile-screen{width:100%;max-width:610px;margin:0 auto;padding:2px 2px 24px;color:#fff}
.lovi-profile-topbar{display:flex;align-items:center;justify-content:space-between;margin:0 2px 22px}
.lovi-profile-title{font-size:30px;font-weight:850;letter-spacing:-1px;line-height:1.05}
.lovi-profile-icon-btn{width:42px;height:42px;border:0;background:transparent;color:#fff;display:grid;place-items:center;border-radius:12px;cursor:pointer}
.lovi-profile-icon-btn:hover{background:rgba(255,255,255,.06)}
.lovi-profile-identity{display:flex;align-items:center;gap:18px;padding:0 8px 24px}
.lovi-profile-avatar{width:104px;height:104px;flex:0 0 104px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.17);background:#16202a;display:grid;place-items:center;font-size:34px;font-weight:800;color:#fff}
.lovi-profile-avatar-placeholder{background:linear-gradient(145deg,#233342,#111b25)}
.lovi-profile-identity-copy{min-width:0}
.lovi-profile-name{font-size:25px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}
.lovi-profile-edit{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:#9eabb9;font-size:16px;cursor:pointer}
.lovi-profile-edit:hover{color:#fff}
.lovi-online-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:20px 22px;border-radius:19px;background:#111a23;border:1px solid rgba(255,255,255,.07);box-shadow:0 10px 30px rgba(0,0,0,.16)}
.lovi-online-card.is-online{border-color:rgba(73,202,126,.13)}
.lovi-online-copy{min-width:0}
.lovi-online-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;line-height:1.2}
.lovi-online-dot{width:10px;height:10px;border-radius:50%;background:#49c77e;box-shadow:0 0 0 4px rgba(73,199,126,.10);flex:0 0 auto}
.lovi-online-subtitle{margin:7px 0 0 22px;color:#94a1af;font-size:14px;line-height:1.35}
.lovi-online-switch{position:relative;width:52px;height:30px;flex:0 0 52px;padding:3px;border:0;border-radius:999px;background:#35414d;cursor:pointer;transition:.2s ease}
.lovi-online-switch span{display:block;width:24px;height:24px;border-radius:50%;background:#f4f7fa;box-shadow:0 2px 5px rgba(0,0,0,.2);transform:translateX(0);transition:.2s ease}
.lovi-online-switch.on{background:#49c77e}
.lovi-online-switch.on span{transform:translateX(22px)}
.lovi-profile-menu-card,.lovi-profile-support-row{background:#111a23;border:1px solid rgba(255,255,255,.07);border-radius:19px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.lovi-profile-menu-row{width:100%;min-height:76px;padding:0 18px;display:grid;grid-template-columns:36px 1fr 22px;align-items:center;gap:12px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:#fff;text-align:left;cursor:pointer}
.lovi-profile-menu-row:last-child{border-bottom:0}
.lovi-profile-menu-row:hover,.lovi-profile-support-row:hover{background:rgba(255,255,255,.035)}
.lovi-profile-menu-icon{width:36px;height:36px;display:grid;place-items:center;color:#fff}
.lovi-profile-menu-row>span:nth-child(2),.lovi-profile-support-row>span:nth-child(2){font-size:17px;font-weight:500}
.lovi-profile-menu-arrow{color:#8996a3;display:grid;place-items:center}
.lovi-profile-support-row{width:100%;min-height:68px;margin-top:24px;padding:0 18px;display:grid;grid-template-columns:36px 1fr 22px;align-items:center;gap:12px;color:#fff;text-align:left;cursor:pointer}
.lovi-profile-logout{display:block;width:100%;margin-top:14px;padding:13px;border:0;background:transparent;color:#8794a1;font-size:13px;cursor:pointer}
.lovi-profile-logout:hover{color:#fff}
body.route-profile #prof .modalbox{background:transparent!important;border:0!important;box-shadow:none!important;max-width:650px!important;width:min(650px,calc(100vw - 40px))!important;padding:0!important}
body.route-profile #prof .modalhead{display:none!important}
body.route-profile #prof{padding:76px 18px 28px!important;overflow:auto!important}
@media(max-width:900px){
  .lovi-profile-screen{max-width:none;padding:0 0 28px}
  .lovi-profile-title{font-size:29px}
  .lovi-profile-topbar{margin-bottom:22px}
  .lovi-profile-identity{padding:0 4px 22px;gap:16px}
  .lovi-profile-avatar{width:88px;height:88px;flex-basis:88px}
  .lovi-profile-name{font-size:23px}
  .lovi-profile-edit{font-size:15px}
  .lovi-online-card{padding:18px 17px;margin-bottom:20px}
  .lovi-online-title{font-size:18px}
  .lovi-online-subtitle{font-size:13px}
  .lovi-profile-menu-row{min-height:68px;padding:0 15px}
  .lovi-profile-support-row{min-height:64px;margin-top:20px;padding:0 15px}
  body.route-profile #prof .modalbox{width:100%!important}
  body.route-profile #prof{padding:72px 14px 82px!important}
}

/* V34 — functional profile action sheets */
.profile-action-sheet{padding:22px!important;max-width:650px!important;width:min(650px,calc(100vw - 32px))!important}
.profile-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.profile-sheet-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}
.profile-sheet-title-wrap h2{margin:0;font-size:24px;letter-spacing:-.4px}
.profile-sheet-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff}
.profile-sheet-close{width:38px;height:38px;border:0;border-radius:11px;background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer}
.profile-sheet-close:hover{background:rgba(255,255,255,.1)}
.profile-sheet-content{color:inherit}
.profile-setting-list{border:1px solid rgba(255,255,255,.08);border-radius:17px;overflow:hidden;background:rgba(255,255,255,.025)}
.profile-setting-item{min-height:70px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(255,255,255,.07)}
.profile-setting-item:last-child{border-bottom:0}
.profile-setting-item b,.profile-setting-item small{display:block}.profile-setting-item small{margin-top:4px;color:#8996a3;font-size:12px}.profile-setting-action{cursor:pointer}.profile-setting-action:hover{background:rgba(255,255,255,.035)}
.lovi-mini-switch{width:44px;height:25px;border:0;border-radius:999px;background:#3b4651;padding:3px;cursor:pointer;flex:0 0 auto}.lovi-mini-switch span{display:block;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .18s ease}.lovi-mini-switch.on{background:#45bd72}.lovi-mini-switch.on span{transform:translateX(19px)}
.profile-edit-form{display:grid;gap:13px}.profile-edit-form label{display:grid;gap:7px;font-size:13px;color:#aab5c0}.profile-edit-form .field{margin:0}.profile-sheet-primary{width:100%;margin-top:5px}
.profile-empty-state{text-align:center;padding:22px 10px 8px}.profile-empty-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.06)}.profile-empty-state h3{margin:0 0 8px;font-size:19px}.profile-empty-state p{margin:0 auto 18px;max-width:470px;color:#8996a3;line-height:1.55;font-size:14px}
.profile-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-stat-grid>div{padding:17px 10px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.025);text-align:center}.profile-stat-grid b,.profile-stat-grid span{display:block}.profile-stat-grid b{font-size:22px}.profile-stat-grid span{margin-top:5px;color:#8996a3;font-size:11px}
.profile-rating-card{text-align:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.profile-rating-star{color:#fff;margin-bottom:4px}.profile-rating-value{font-size:45px;font-weight:850;line-height:1}.profile-rating-caption{color:#8996a3;margin-top:7px}.profile-rating-info{margin-top:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}.profile-rating-info div{display:flex;justify-content:space-between;padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.07)}.profile-rating-info div:last-child{border-bottom:0}.profile-rating-info span{color:#8996a3}
.profile-support-list{border:1px solid rgba(255,255,255,.08);border-radius:17px;overflow:hidden}.profile-support-list button{width:100%;min-height:70px;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:inherit;padding:10px 14px;display:grid;grid-template-columns:38px 1fr 20px;gap:10px;align-items:center;text-align:left;cursor:pointer}.profile-support-list button:last-child{border-bottom:0}.profile-support-list button:hover{background:rgba(255,255,255,.035)}.profile-support-list button>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.06)}.profile-support-list b,.profile-support-list small{display:block}.profile-support-list small{margin-top:3px;color:#8996a3;font-size:11px}
body:not(.dark) .profile-action-sheet{color:#1a2026}.light body .profile-action-sheet{color:#1a2026}
@media(max-width:640px){.profile-action-sheet{width:calc(100vw - 20px)!important;padding:17px!important}.profile-sheet-title-wrap h2{font-size:21px}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-setting-item{min-height:64px}}

/* V36 — profile menu collapses before selected section opens */
.lovi-profile-screen{transition:opacity .19s ease,transform .19s ease,filter .19s ease}
.lovi-profile-screen.profile-collapsing{opacity:0;transform:translateY(-10px) scale(.985);filter:blur(2px);pointer-events:none}
#prof.profile-section-hidden{display:none!important}
.profile-section-enter{opacity:0!important;transform:translateY(12px) scale(.985);transition:opacity .18s ease,transform .18s ease}
#sheet.profile-action-sheet:not(.profile-section-enter){opacity:1;transform:none}
.lovi-profile-screen.profile-restoring{animation:profileRestore .19s ease both}
@keyframes profileRestore{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Фото профиля */
.profile-photo-edit{margin-bottom:14px}
.profile-photo-button{width:100%;display:flex;align-items:center;gap:13px;padding:12px;border:1px solid var(--border,#ddd);background:var(--card,#fff);border-radius:16px;text-align:left;cursor:pointer}
.profile-photo-button>span:first-child{width:58px;height:58px;min-width:58px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--muted,#f1f1f1);font-size:24px}
.profile-photo-button img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-button b{display:block;font-size:15px}
.profile-photo-button small{display:block;margin-top:3px;opacity:.65;font-size:12px}
.lovi-profile-avatar{object-fit:cover}


/* V40 — раздел Чаты */
.chats-page{position:fixed;inset:78px 0 0;display:grid;grid-template-columns:360px 1fr;background:#05090f;color:#eef3f7;z-index:20}
.chats-list-panel{border-right:1px solid var(--v4-line);overflow:auto;padding:26px 14px 100px;background:#071019}
.chats-page-head{padding:0 8px 18px}.chats-page-head h1{margin:4px 0 0;font-size:34px;letter-spacing:-1.3px}.chats-list{display:flex;flex-direction:column;gap:6px}
.chat-list-item{width:100%;border:1px solid transparent;background:transparent;color:inherit;border-radius:15px;padding:11px;display:flex;gap:11px;text-align:left;cursor:pointer}.chat-list-item:hover,.chat-list-item.active{background:#0d1823;border-color:var(--v4-line)}
.chat-list-avatar,.chat-head-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;overflow:hidden;background:#172533;display:grid;place-items:center;font-weight:800}.chat-list-avatar img,.chat-head-avatar img{width:100%;height:100%;object-fit:cover}.chat-list-avatar span,.chat-head-avatar span{font-size:16px}.chat-list-avatar.support{background:#13283a}
.chat-unread{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--v4-blue);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;align-self:center}.chat-list-copy{min-width:0;flex:1}.chat-list-top{display:flex;justify-content:space-between;gap:8px}.chat-list-top b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-top time{font-size:10px;color:#718294;flex:0 0 auto}.chat-list-copy small{display:block;color:#7f93a5;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list-copy p{margin:5px 0 0;color:#aebbc6;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-window{min-width:0;display:flex;flex-direction:column;background:#08111a}.chat-head{height:76px;flex:0 0 76px;border-bottom:1px solid var(--v4-line);display:flex;align-items:center;gap:12px;padding:0 24px;background:#09141e}.chat-head-copy{min-width:0}.chat-head-copy b,.chat-head-copy small{display:block}.chat-head-copy b{font-size:15px}.chat-head-copy small{font-size:11px;color:#8194a5;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-back{display:none}.chat-messages{flex:1;overflow:auto;padding:24px clamp(14px,5vw,80px);display:flex;flex-direction:column;gap:8px}.chat-bubble-row{display:flex}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble{max-width:min(70%,620px);padding:10px 13px;border-radius:16px;background:#11202c;color:#eaf1f6;font-size:14px;line-height:1.4;border:1px solid rgba(255,255,255,.06)}.chat-bubble-row.mine .chat-bubble{background:#176ca6}.chat-bubble time{display:block;margin-top:5px;font-size:9px;opacity:.55;text-align:right}.chat-composer{display:flex;gap:9px;padding:14px 24px 18px;border-top:1px solid var(--v4-line);background:#09141e}.chat-composer input{min-width:0;flex:1;height:48px;border-radius:14px;border:1px solid var(--v4-line);background:#0d1822;color:#fff;padding:0 15px;outline:none}.chat-composer input:focus{border-color:rgba(61,169,239,.6)}.chat-composer button{width:48px;height:48px;border:0;border-radius:14px;background:var(--v4-blue);color:#fff;display:grid;place-items:center;cursor:pointer}.chat-empty-state,.chats-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8194a5;padding:30px}.chat-empty-state{flex:1}.chat-empty-state h2{margin:12px 0 6px;color:#eaf1f6;font-size:22px}.chat-empty-state p,.chats-empty p{max-width:420px;margin:0;line-height:1.5;font-size:13px}.chat-empty-icon{width:64px;height:64px;border-radius:20px;background:#0f1d29;display:grid;place-items:center;color:#8bcdf3}.chat-no-messages{text-align:center;color:#718294;margin:auto}
body.route-chats #landingPage,body.route-chats .orders-page,body.route-chats #prof,body.route-chats #createM{display:none!important}body.route-chats .bottom-nav{display:flex!important}body.route-chats .chats-page{display:grid!important}
@media(max-width:900px){.chats-page{inset:64px 0 68px;display:flex!important;flex-direction:column}.chats-list-panel{border-right:0;border-bottom:1px solid var(--v4-line);padding:14px 10px 8px;max-height:42%;overflow:auto}.chats-page-head{padding:2px 7px 10px}.chats-page-head h1{font-size:27px}.chat-window{min-height:58%;flex:1}.chat-head{height:64px;flex-basis:64px;padding:0 13px}.chat-back{display:grid;width:34px;height:34px;border:0;background:transparent;color:#fff;place-items:center;transform:rotate(180deg)}.chat-messages{padding:16px 12px}.chat-bubble{max-width:84%;font-size:13px}.chat-composer{padding:9px 10px 10px}.chat-list-item{padding:9px}.chat-list-avatar{width:42px;height:42px;flex-basis:42px}}
@media(min-width:901px){body.route-chats .bottom-nav{display:none!important}}

/* Город выполнения */
.orders-city-filter{margin:10px 0 12px;padding:10px 12px;border:1px solid rgba(37,99,235,.16);border-radius:14px;background:rgba(37,99,235,.035)}
.orders-city-filter label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#5b6472}
.orders-city-filter .field{width:100%;margin:0}

/* v52 — GAR/FIAS settlement autocomplete */
.city-search-wrap{position:relative;width:100%}
.city-suggestions{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:1200;max-height:280px;overflow:auto;background:var(--surface,#fff);border:1px solid rgba(0,0,0,.12);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:6px}
.city-suggestions.open{display:block}
.city-suggestion{display:flex;width:100%;gap:10px;align-items:flex-start;text-align:left;border:0;background:transparent;border-radius:10px;padding:10px 12px;cursor:pointer;color:inherit}
.city-suggestion:hover,.city-suggestion:focus{background:rgba(37,99,235,.08);outline:none}
.city-suggestion span{display:block;flex:1;font-size:14px;line-height:1.35}
.city-suggestion small{display:block;white-space:nowrap;opacity:.58;font-size:11px;margin-top:2px}
.city-suggestion-empty{padding:12px;font-size:13px;opacity:.65;text-align:center}
.profile-city-hint{display:block;margin-top:8px;line-height:1.4;opacity:.62}
