/* CONTRACTOR BRAND COLOR AUDIT V2: Подряд = orange on contractor pages */
/* Единая геометрия сайта. Типографику контента не изменяет. */
:root{
  --site-max:1200px;
  --site-pad:40px;
  --site-header-h:60px;
  --site-side: max(var(--site-pad), calc((100vw - var(--site-max))/2 + var(--site-pad)));
}

/* Общая неподвижная шапка */
body.page-index .header,
body.page-post-order .header,
body.page-login .header,
body.page-signup-customer .header,
body.page-signup-contractor .header,
body.page-contractor-profile .header,
body.page-for-contractors .header,
body.page-feed .topbar,
body.page-order .nav,
body.page-rules .nav,
body.page-contractor-cabinet .nav,
body.page-contractor-notifications .nav,
body.page-contractor-offers .nav,
body.page-admin .top{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:1000 !important;
}

/* Шапки, где содержимое уже завернуто во внутренний контейнер */
body.page-index .header-inner,
body.page-post-order .header-inner,
body.page-login .header-inner,
body.page-signup-customer .header-inner,
body.page-signup-contractor .header-inner,
body.page-contractor-profile .header-inner{
  width:100% !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--site-pad) !important;
  padding-right:var(--site-pad) !important;
}

/* Шапки без внутренней обертки: одинаковая точка начала логотипа */
body.page-feed .topbar,
body.page-order .nav,
body.page-rules .nav,
body.page-contractor-cabinet .nav,
body.page-contractor-notifications .nav,
body.page-contractor-offers .nav,
body.page-admin .top{
  padding-left:var(--site-side) !important;
  padding-right:var(--site-side) !important;
}

/* Одинаковая рабочая ширина основных страниц */
body.page-post-order .strength-inner,
body.page-post-order .main,
body.page-rules .wrap,
body.page-contractor-cabinet .page,
body.page-contractor-notifications .wrap,
body.page-contractor-offers .wrap,
body.page-contractor-profile .main,
body.page-admin .wrap{
  width:100% !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--site-pad) !important;
  padding-right:var(--site-pad) !important;
}

/* Отступ под фиксированной шапкой */
body.page-index,
body.page-post-order,
body.page-login,
body.page-signup-customer,
body.page-signup-contractor,
body.page-contractor-profile,
body.page-for-contractors,
body.page-order,
body.page-rules,
body.page-contractor-cabinet,
body.page-contractor-notifications,
body.page-contractor-offers,
body.page-admin{
  padding-top:var(--site-header-h) !important;
}

/* Лента заявок: весь интерфейс в единой центрированной рамке */
body.page-feed{padding-top:54px !important;}
body.page-feed .topbar{
  width:100% !important;
  height:54px !important;
}
body.page-feed .layout{
  width:100% !important;
  max-width:var(--site-max) !important;
  margin:0 auto !important;
  min-height:calc(100vh - 54px) !important;
}

/* Карточка заявки */
body.page-order .page{
  width:100% !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--site-pad) !important;
  padding-right:var(--site-pad) !important;
}

/* Личный кабинет заказчика: шапка + боковое меню и контент внутри общей рамки */
body.page-cabinet{padding-top:var(--site-header-h) !important;}
body.page-cabinet .site-global-header{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--site-header-h);
  z-index:1000;
  background:#fff;
  border-bottom:1px solid var(--border);
}
body.page-cabinet .site-global-header-inner{
  width:100%;max-width:var(--site-max);height:100%;margin:0 auto;
  padding:0 var(--site-pad);display:flex;align-items:center;justify-content:space-between;gap:20px;
}
body.page-cabinet .site-global-logo{font-weight:700;font-size:19px;letter-spacing:-.5px;color:var(--ink);text-decoration:none;flex:none;}
body.page-cabinet .site-global-logo span{color:var(--accent);}
body.page-cabinet .site-global-actions{display:flex;align-items:center;gap:8px;}
body.page-cabinet .site-global-actions a{font-size:13px;font-weight:700;text-decoration:none;color:var(--muted);padding:7px 12px;border-radius:9px;}
body.page-cabinet .site-global-actions a.primary{background:var(--accent);color:#fff;}
body.page-cabinet .sb-logo{display:none !important;}
body.page-cabinet .sidebar{
  left:max(0px, calc((100vw - var(--site-max))/2)) !important;
  top:var(--site-header-h) !important;
  height:calc(100vh - var(--site-header-h)) !important;
}
body.page-cabinet .screen.active{
  top:var(--site-header-h) !important;
  left:calc(max(0px, (100vw - var(--site-max))/2) + 236px) !important;
  right:max(0px, calc((100vw - var(--site-max))/2)) !important;
}
body.page-cabinet .content{
  width:100% !important;
  max-width:none !important;
  padding-left:32px !important;
  padding-right:32px !important;
}
body.page-cabinet .mobile-hdr{display:none !important;}

/* Лендинг подрядчика: геометрия как у главной, без изменения его оформления */
body.page-for-contractors .header-shell,
body.page-for-contractors .container{
  width:calc(100% - (var(--site-pad) * 2)) !important;
  max-width:calc(var(--site-max) - (var(--site-pad) * 2)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width: 900px){
  :root{--site-pad:20px;}
}

@media (max-width: 700px){
  :root{--site-pad:16px;--site-header-h:54px;}

  body.page-index .header-inner,
  body.page-post-order .header-inner,
  body.page-login .header-inner,
  body.page-signup-customer .header-inner,
  body.page-signup-contractor .header-inner,
  body.page-contractor-profile .header-inner{
    padding-left:var(--site-pad) !important;
    padding-right:var(--site-pad) !important;
  }

  body.page-post-order .strength-inner,
  body.page-post-order .main,
  body.page-rules .wrap,
  body.page-contractor-cabinet .page,
  body.page-contractor-notifications .wrap,
  body.page-contractor-offers .wrap,
  body.page-contractor-profile .main,
  body.page-admin .wrap,
  body.page-order .page{
    padding-left:var(--site-pad) !important;
    padding-right:var(--site-pad) !important;
  }

  body.page-feed .topbar,
  body.page-order .nav,
  body.page-rules .nav,
  body.page-contractor-cabinet .nav,
  body.page-contractor-notifications .nav,
  body.page-contractor-offers .nav,
  body.page-admin .top{
    padding-left:var(--site-pad) !important;
    padding-right:var(--site-pad) !important;
  }

  body.page-cabinet .site-global-header-inner{padding:0 var(--site-pad);}
  body.page-cabinet .site-global-logo{font-size:18px;}
  body.page-cabinet .site-global-actions a:not(.primary){display:none;}
  body.page-cabinet .sidebar{top:var(--site-header-h) !important;height:calc(100vh - var(--site-header-h)) !important;}
  body.page-cabinet .screen.active{top:var(--site-header-h) !important;left:0 !important;right:0 !important;}
  body.page-cabinet .content{padding-left:var(--site-pad) !important;padding-right:var(--site-pad) !important;}
  body.page-cabinet .topbar{position:sticky !important;top:0 !important;}

  body.page-feed{padding-top:54px !important;}
  body.page-feed .layout{min-height:calc(100vh - 54px) !important;}

  body.page-for-contractors .header-shell,
  body.page-for-contractors .container{
    width:calc(100% - (var(--site-pad) * 2)) !important;
    max-width:none !important;
  }
}

/* Единая высота шапки и неподвижная точка бренда */
body.page-index .header,
body.page-post-order .header,
body.page-login .header,
body.page-signup-customer .header,
body.page-signup-contractor .header,
body.page-contractor-profile .header,
body.page-feed .topbar,
body.page-order .nav,
body.page-rules .nav,
body.page-contractor-cabinet .nav,
body.page-contractor-notifications .nav,
body.page-contractor-offers .nav,
body.page-admin .top{
  height:var(--site-header-h) !important;
  min-height:var(--site-header-h) !important;
}
body.page-for-contractors .header,
body.page-for-contractors .header.scrolled{
  height:var(--site-header-h) !important;
  min-height:var(--site-header-h) !important;
  padding:0 !important;
}
body.page-for-contractors .header-shell{
  height:var(--site-header-h) !important;
  min-height:var(--site-header-h) !important;
}
body.page-post-order .strength-bar{top:var(--site-header-h) !important;}

body.page-index .logo,
body.page-post-order .logo,
body.page-login .logo,
body.page-signup-customer .logo,
body.page-signup-contractor .logo,
body.page-contractor-profile .logo,
body.page-feed .topbar-logo,
body.page-order .nav-logo,
body.page-rules .nav-logo,
body.page-contractor-cabinet .nav-logo,
body.page-contractor-notifications .logo,
body.page-contractor-offers .logo,
body.page-admin .logo{
  font-size:19px !important;
  line-height:1 !important;
  letter-spacing:-.5px !important;
  flex:none !important;
}

/* На карточке заявки логотип стоит первым, как на главной */
body.page-order .nav{justify-content:flex-start !important;gap:12px !important;}
body.page-order .nav-logo{order:-10 !important;margin-left:0 !important;}
body.page-order .nav-back{order:0 !important;}
body.page-order .nav-sep{order:1 !important;}
body.page-order .nav-title{order:2 !important;}
body.page-order #btn-lk-header{order:10 !important;margin-left:auto !important;}

@media (max-width:700px){
  body.page-index .logo,
  body.page-post-order .logo,
  body.page-login .logo,
  body.page-signup-customer .logo,
  body.page-signup-contractor .logo,
  body.page-contractor-profile .logo,
  body.page-feed .topbar-logo,
  body.page-order .nav-logo,
  body.page-rules .nav-logo,
  body.page-contractor-cabinet .nav-logo,
  body.page-contractor-notifications .logo,
  body.page-contractor-offers .logo,
  body.page-admin .logo{font-size:18px !important;}
  body.page-order .nav-back,body.page-order .nav-sep,body.page-order .nav-title{display:none !important;}
}


/* FINAL UNIFIED GEOMETRY V3
   Только геометрия контейнеров и фирменный цвет роли. Типографика контента не меняется. */

/* Лента заявок — рабочая область строго в общей рамке главной страницы. */
body.page-feed .topbar{
  box-sizing:border-box !important;
}
body.page-feed .layout{
  width:calc(100% - (var(--site-pad) * 2)) !important;
  max-width:calc(var(--site-max) - (var(--site-pad) * 2)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Уведомления заказчика занимают всю ширину справа от боковой панели. */
body.page-cabinet #s-notifications .content{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
body.page-cabinet #cust-notif-list{
  width:100% !important;
  max-width:none !important;
}
body.page-cabinet #cust-notif-list > *{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* На внутренних страницах подрядчика слово «Подряд» оранжевое. */
body.page-for-contractors .logo span,
body.page-contractor-cabinet .nav-logo span,
body.page-contractor-profile .logo span,
body.page-contractor-notifications .logo span,
body.page-contractor-offers .logo span,
body.page-signup-contractor .logo span{
  color:#e07c22 !important;
}

/* Главная, заказчик и общая страница заявок используют синий акцент бренда. */
body.page-feed .topbar-logo span,
body.page-index .logo span,
body.page-cabinet .site-global-logo span,
body.page-order .nav-logo span,
body.page-post-order .logo span,
body.page-login .logo span,
body.page-signup-customer .logo span,
body.page-rules .nav-logo span{
  color:var(--accent) !important;
}

@media (max-width:700px){
  body.page-feed .layout{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
  body.page-cabinet #s-notifications .content,
  body.page-cabinet #cust-notif-list{
    width:100% !important;
    max-width:none !important;
  }
}

/* FINAL HEADER + FEED WIDTH FIX V6
   Исправляет только геометрию: единая точка шапки и полная ширина ленты. */

/* Не используем 100vw: он учитывает полосу прокрутки и сдвигает прямые шапки
   относительно страниц с центрированной внутренней оберткой. */
:root{
  --site-side:max(var(--site-pad), calc((100% - var(--site-max))/2 + var(--site-pad)));
}

/* Внутренняя часть каждой шапки строго равна высоте общей шапки.
   Это убирает вертикальный сдвиг post-order (исходно было 64px внутри 60px)
   и аналогичные расхождения на страницах регистрации/профиля. */
body.page-index .header-inner,
body.page-post-order .header-inner,
body.page-login .header-inner,
body.page-signup-customer .header-inner,
body.page-signup-contractor .header-inner,
body.page-contractor-profile .header-inner{
  height:var(--site-header-h) !important;
  min-height:var(--site-header-h) !important;
  box-sizing:border-box !important;
}

/* Страница заявок использует полную эталонную ширину 1200px,
   а не 1120px после двойного вычитания внутренних отступов. */
body.page-feed .layout{
  width:calc(100% - (var(--site-pad) * 2)) !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

@media (max-width:700px){
  body.page-feed .layout{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
}

/* FINAL CONTRACTOR NAV + OFFER MODAL FIX V7
   Единая геометрия навигации подрядчика, оранжевые ролевые акценты
   и безопасный отступ формы оферты под закрепленной шапкой. */
:root{
  --contractor-accent:#e07c22;
  --contractor-accent-dark:#c86a12;
  --contractor-accent-light:#fef4eb;
}

/* Одинаковая сетка кнопок на всех внутренних страницах подрядчика. */
body.page-contractor-cabinet .nav-links,
body.page-contractor-offers .nav-links,
body.page-contractor-notifications .nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  margin-left:auto !important;
  flex:0 0 auto !important;
}

body.page-contractor-cabinet .nav-link,
body.page-contractor-offers .nav-link,
body.page-contractor-notifications .nav-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:7px 14px !important;
  border-radius:9px !important;
  box-sizing:border-box !important;
  color:var(--muted) !important;
  background:transparent !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* Фиксированная ширина каждого пункта не дает кнопкам прыгать между страницами. */
body.page-contractor-cabinet .nav-links > .nav-link:nth-child(1),
body.page-contractor-offers .nav-links > .nav-link:nth-child(1),
body.page-contractor-notifications .nav-links > .nav-link:nth-child(1){width:92px !important;}
body.page-contractor-cabinet .nav-links > .nav-link:nth-child(2),
body.page-contractor-offers .nav-links > .nav-link:nth-child(2),
body.page-contractor-notifications .nav-links > .nav-link:nth-child(2){width:92px !important;}
body.page-contractor-cabinet .nav-links > .nav-link:nth-child(3),
body.page-contractor-offers .nav-links > .nav-link:nth-child(3),
body.page-contractor-notifications .nav-links > .nav-link:nth-child(3){width:92px !important;}
body.page-contractor-cabinet .nav-links > .nav-link:nth-child(4),
body.page-contractor-offers .nav-links > .nav-link:nth-child(4),
body.page-contractor-notifications .nav-links > .nav-link:nth-child(4){width:132px !important;}
body.page-contractor-cabinet .nav-links > .nav-link:nth-child(5),
body.page-contractor-offers .nav-links > .nav-link:nth-child(5),
body.page-contractor-notifications .nav-links > .nav-link:nth-child(5){width:154px !important;}
body.page-contractor-cabinet .nav-links > .nav-link:nth-child(6),
body.page-contractor-offers .nav-links > .nav-link:nth-child(6),
body.page-contractor-notifications .nav-links > .nav-link:nth-child(6){width:76px !important;}

body.page-contractor-cabinet .nav-link:hover,
body.page-contractor-offers .nav-link:hover,
body.page-contractor-notifications .nav-link:hover{
  background:var(--contractor-accent-light) !important;
  color:var(--contractor-accent-dark) !important;
}
body.page-contractor-cabinet .nav-link.active,
body.page-contractor-offers .nav-link.active,
body.page-contractor-notifications .nav-link.active{
  background:var(--contractor-accent-light) !important;
  color:var(--contractor-accent-dark) !important;
}

/* Счетчики не участвуют в ширине пункта и не сдвигают соседние кнопки. */
body.page-contractor-cabinet .nav-link .nav-badge,
body.page-contractor-cabinet .nav-link #bell-count-ct,
body.page-contractor-offers .nav-link .badge,
body.page-contractor-notifications .nav-link .badge{
  position:absolute !important;
  top:2px !important;
  right:3px !important;
  margin:0 !important;
  line-height:1.2 !important;
}

/* Основное действие подрядчика — оранжевое. */
body.page-contractor-offers .primary-link{
  background:var(--contractor-accent) !important;
  color:#fff !important;
}
body.page-contractor-offers .primary-link:hover{
  background:var(--contractor-accent-dark) !important;
  color:#fff !important;
}

/* Форма оферты начинается ниже закрепленной шапки и больше не обрезается. */
body.page-order #offer-modal{
  padding-top:calc(var(--site-header-h) + 20px) !important;
  padding-bottom:20px !important;
  scroll-padding-top:calc(var(--site-header-h) + 20px) !important;
}

@media (max-width:900px){
  body.page-contractor-cabinet .nav-links,
  body.page-contractor-offers .nav-links,
  body.page-contractor-notifications .nav-links{
    min-width:0 !important;
    flex:1 1 auto !important;
    overflow-x:auto !important;
    justify-content:flex-start !important;
    gap:2px !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body.page-contractor-cabinet .nav-links::-webkit-scrollbar,
  body.page-contractor-offers .nav-links::-webkit-scrollbar,
  body.page-contractor-notifications .nav-links::-webkit-scrollbar{display:none;}

  body.page-contractor-cabinet .nav-links > .nav-link,
  body.page-contractor-offers .nav-links > .nav-link,
  body.page-contractor-notifications .nav-links > .nav-link{
    width:auto !important;
    min-width:max-content !important;
    padding:7px 10px !important;
    font-size:12px !important;
  }
}

@media (max-width:700px){
  body.page-order #offer-modal{
    padding-top:calc(var(--site-header-h) + 12px) !important;
    padding-right:12px !important;
    padding-bottom:12px !important;
    padding-left:12px !important;
  }
}


/* FINAL SIGNUP + MULTI-ROLE ACCESS FIX V8
   Центрированная регистрация подрядчика и единая геометрия рабочей области. */
body.page-signup-contractor .auth-wrap{
  width:100% !important;
  max-width:var(--site-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:24px var(--site-pad) 40px !important;
  align-items:flex-start !important;
  box-sizing:border-box !important;
}
body.page-signup-contractor .auth-card{
  width:100% !important;
  min-height:auto !important;
  grid-template-columns:minmax(300px,340px) minmax(0,1fr) !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  box-shadow:0 8px 32px rgba(26,34,51,.07) !important;
  overflow:hidden !important;
}
body.page-signup-contractor .auth-left{
  padding:38px 30px !important;
}
body.page-signup-contractor .auth-right{
  padding:38px 40px 42px !important;
  overflow:visible !important;
  min-width:0 !important;
}

@media (max-width:900px){
  body.page-signup-contractor .auth-card{
    grid-template-columns:minmax(270px,300px) minmax(0,1fr) !important;
  }
  body.page-signup-contractor .auth-left{padding:32px 24px !important;}
  body.page-signup-contractor .auth-right{padding:32px 28px 36px !important;}
}

@media (max-width:800px){
  body.page-signup-contractor .auth-wrap{
    padding-top:18px !important;
    padding-bottom:28px !important;
  }
  body.page-signup-contractor .auth-card{
    grid-template-columns:1fr !important;
    max-width:680px !important;
    margin:0 auto !important;
  }
  body.page-signup-contractor .auth-left{display:none !important;}
  body.page-signup-contractor .auth-right{padding:30px 24px 34px !important;}
}

@media (max-width:480px){
  body.page-signup-contractor .auth-wrap{
    padding:12px var(--site-pad) 24px !important;
  }
  body.page-signup-contractor .auth-card{border-radius:14px !important;}
  body.page-signup-contractor .auth-right{padding:24px 18px 28px !important;}
}

/* FINAL PRIVATE ADMIN ROLE SELECT V9
   Публичный вход содержит только роли заказчика и подрядчика.
   Выбор администратора доступен только после подтвержденной авторизации. */
