/* Версия имени файла используется для надёжного обновления через CDN. */
:root{
  --bg1:#f6f1e8;
  --bg2:#f0e8dc;
  --bg3:#fbf7f1;
  --bg4:#e9dece;

  --champagne-1:rgba(255,224,178,.55);
  --champagne-2:rgba(255,210,150,.35);
  --champagne-3:rgba(255,235,200,.25);

  --glass:rgba(255,255,255,.50);

  --line:rgba(255,255,255,.42);
  --line-soft:rgba(15,23,42,.08);

  --text:#0f172a;
  --muted:#5f6f84;

  --shadow-soft:
    0 8px 24px rgba(31,41,55,.08);

  --shadow-card:
    0 14px 32px rgba(31,41,55,.10),
    0 3px 12px rgba(31,41,55,.05);

  --safe-top:env(safe-area-inset-top, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --effective-safe-top:var(--safe-top);
}

html.ios-safe-area-fallback{
  --effective-safe-top:54px;
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  padding:0;
  min-height:100%;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "SF Pro Display",
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:-0.01em;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,.95), transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(255,245,230,.85), transparent 40%),
    radial-gradient(circle at 75% 85%, var(--champagne-1), transparent 35%),
    radial-gradient(circle at 30% 90%, var(--champagne-2), transparent 35%),
    linear-gradient(
      180deg,
      var(--bg3) 0%,
      var(--bg1) 40%,
      var(--bg2) 75%,
      var(--bg4) 100%
    );
}

body.media-viewer-open{
  overflow:hidden;
}

body{
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
}

button,
input,
select,
textarea{
  font:inherit;
}

.hidden{
  display:none !important;
}

.app-bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.70), transparent 30%),
    radial-gradient(circle at 90% 15%, rgba(255,230,190,.50), transparent 35%),
    radial-gradient(circle at 70% 80%, var(--champagne-2), transparent 25%),
    radial-gradient(circle at 40% 95%, var(--champagne-3), transparent 22%);
}

.page{
  position:relative;
  z-index:1;
  min-height:100vh;
  padding:
    calc(10px + var(--safe-top))
    12px
    calc(24px + var(--safe-bottom));
}

.shell{
  width:100%;
  max-width:430px;
  margin:0 auto;
}

/* -----------------------------------
   Главный экран кабинета
----------------------------------- */

.cabinet-home{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-bottom:16px;
}

.cabinet-topbar{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:transparent;
  isolation:isolate;
}

.cabinet-topbar::before{
  content:"";
  position:absolute;
  top:calc(-12px - var(--safe-top));
  bottom:-34px;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  z-index:-2;
  pointer-events:none;
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  mask-image:linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.96) 18%,
    rgba(0,0,0,.72) 42%,
    rgba(0,0,0,.34) 68%,
    rgba(0,0,0,.10) 84%,
    rgba(0,0,0,0) 100%
  );
  -webkit-mask-image:linear-gradient(
    to bottom,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.96) 18%,
    rgba(0,0,0,.72) 42%,
    rgba(0,0,0,.34) 68%,
    rgba(0,0,0,.10) 84%,
    rgba(0,0,0,0) 100%
  );
}

.cabinet-topbar::after{
  content:"";
  position:absolute;
  top:calc(-12px - var(--safe-top));
  bottom:-34px;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(246,241,232,.78) 0%,
    rgba(246,241,232,.58) 24%,
    rgba(246,241,232,.30) 52%,
    rgba(246,241,232,.10) 76%,
    rgba(246,241,232,0) 100%
  );
}

.cabinet-topbar__left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  flex:1 1 auto;
}

.cabinet-topbar__name{
  min-width:0;
  font-size:24px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-shadow:0 1px 0 rgba(255,255,255,.28);
}

/* -----------------------------------
   Аватар
----------------------------------- */

.cabinet-avatar{
  position:relative;
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:999px;
  padding:7px;
  overflow:hidden;
  background:
    linear-gradient(
      180deg,
      rgba(255,250,225,.98) 0%,
      rgba(248,232,185,.95) 55%,
      rgba(226,203,140,.95) 100%
    );
  box-shadow:
    0 14px 32px rgba(180,150,86,.30),
    0 6px 18px rgba(31,41,55,.10),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -1px 0 rgba(194,166,98,.25);
}

.cabinet-avatar::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      transparent 20%,
      rgba(255,255,255,.0) 34%,
      rgba(255,255,255,.35) 42%,
      rgba(255,245,210,.9) 50%,
      rgba(255,255,255,.3) 58%,
      rgba(255,255,255,.0) 66%,
      transparent 80%
    );
  transform:translateX(-140%) skewX(-18deg);
  animation:avatarGoldShimmer 4.2s ease-in-out infinite;
}

.cabinet-avatar__img{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:1;
  width:calc(100% - 6px);
  height:calc(100% - 6px);
  border-radius:999px;
  object-fit:cover;
}

.cabinet-avatar__fallback{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.35);
  font-size:18px;
  font-weight:800;
  color:#3f2d08;
  transform:translateX(-1px);
}

/* -----------------------------------
   Бонусы
----------------------------------- */

.bonus-pill{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  color:inherit;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  min-height:54px;
  padding:0 14px 0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  transition:transform .16s ease, filter .16s ease;
}

.bonus-pill:active{
  transform:scale(.97);
}

.bonus-pill:focus-visible{
  outline:2px solid rgba(122,90,20,.58);
  outline-offset:3px;
}

.bonus-pill--gold{
  background:
    linear-gradient(
      180deg,
      rgba(255,248,230,.96) 0%,
      rgba(248,234,194,.92) 52%,
      rgba(234,214,164,.90) 100%
    );
  border:1px solid rgba(255,245,220,.78);
  box-shadow:
    0 14px 30px rgba(180,150,86,.22),
    0 8px 18px rgba(31,41,55,.08),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(194,166,98,.18);
}

.bonus-pill__shine{
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      transparent 20%,
      rgba(255,255,255,0) 34%,
      rgba(255,255,255,.30) 42%,
      rgba(255,244,208,.78) 50%,
      rgba(255,255,255,.24) 58%,
      rgba(255,255,255,0) 66%,
      transparent 80%
    );
  transform:translateX(-135%) skewX(-18deg);
  animation:bonusGoldShimmer 3.6s ease-in-out infinite;
}

.bonus-pill__icon{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.46);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 4px 10px rgba(180,150,86,.16);
  flex:0 0 34px;
}

.bonus-pill__icon i{
  font-size:22px;
  line-height:1;
  color:#7a5a14;
}

.bonus-pill__content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.bonus-pill__label{
  font-size:10px;
  line-height:1.1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(122,90,20,.82);
}

.bonus-pill__value{
  font-size:18px;
  line-height:1;
  font-weight:900;
  letter-spacing:-0.03em;
  color:#3f2d08;
}

/* -----------------------------------
   История бонусов
----------------------------------- */

.bonus-history{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-bottom:24px;
}

.bonus-history__topbar{
  position:sticky;
  top:0;
  z-index:40;
  min-height:56px;
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
}

.bonus-history__back{
  width:40px;
  height:40px;
  padding:0 0 4px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:var(--shadow-soft);
  color:#3f2d08;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}

.bonus-history__title{
  text-align:center;
  font-size:20px;
  font-weight:850;
  letter-spacing:-.03em;
}

.bonus-history__balance-card{
  padding:22px;
  border:1px solid rgba(255,245,220,.8);
  border-radius:26px;
  background:linear-gradient(145deg, rgba(255,249,232,.96), rgba(232,208,151,.9));
  box-shadow:var(--shadow-card);
}

.bonus-history__balance-label{
  color:rgba(90,65,16,.7);
  font-size:13px;
  font-weight:750;
}

.bonus-history__balance-value{
  margin-top:5px;
  color:#3f2d08;
  font-size:38px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
}

.bonus-history__expiring{
  padding:14px 16px;
  border:1px solid rgba(220,158,58,.18);
  border-radius:18px;
  background:rgba(255,247,222,.68);
  color:#735310;
  font-size:13px;
  line-height:1.4;
  font-weight:700;
}

.bonus-history__list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bonus-history-item{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:20px;
  background:rgba(255,255,255,.53);
  box-shadow:var(--shadow-soft);
}

.bonus-history-item__icon{
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(45,159,93,.12);
  color:#23834d;
  font-size:23px;
  font-weight:800;
}

.bonus-history-item--write-off .bonus-history-item__icon{
  background:rgba(191,76,69,.1);
  color:#a8433d;
}

.bonus-history-item__main{
  min-width:0;
}

.bonus-history-item__title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  font-weight:800;
}

.bonus-history-item__description,
.bonus-history-item__date{
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:11px;
}

.bonus-history-item__amount{
  align-self:start;
  padding-top:3px;
  color:#23834d;
  font-size:16px;
  font-weight:900;
  white-space:nowrap;
}

.bonus-history-item--write-off .bonus-history-item__amount{
  color:#a8433d;
}

.bonus-history__empty,
.bonus-history__loading{
  padding:34px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.4);
  color:var(--muted);
  text-align:center;
  font-size:14px;
}

.bonus-history__more{
  min-height:46px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  color:#3f2d08;
  font-weight:800;
  cursor:pointer;
}

/* -----------------------------------
   Базовые карточки
----------------------------------- */

.phone-card,
.links-card,
.manager-card{
  background:var(--glass);
  border:1px solid var(--line);
  border-radius:26px;
  padding:20px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}

.phone-card__text,
.links-card__text,
.manager-card__text,
.phone-card__hint{
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.phone-card__title,
.links-card__title,
.manager-card__title{
  margin:0 0 8px;
  font-size:20px;
  font-weight:700;
  color:var(--text);
  letter-spacing:-0.02em;
}

/* -----------------------------------
   Промо-карусель
----------------------------------- */

.promo-carousel{
  margin:5px 0 8px;
  overflow:hidden;
}

.promo-carousel__track{
  display:flex;
  transition:transform .45s ease;
  will-change:transform;
}

.promo-carousel__dots{
  display:flex;
  justify-content:center;
  gap:8px;
  padding-top:10px;
}

.promo-carousel__dot{
  width:8px;
  height:8px;
  border:none;
  border-radius:999px;
  background:rgba(15,23,42,.16);
  cursor:pointer;
}

.promo-carousel__dot.is-active{
  background:rgba(15,23,42,.72);
}

.promo-banner{
  position:relative;
  overflow:hidden;
  flex:0 0 100%;
  min-height:110px;
  border-radius:28px;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:16px;
  padding:2px 18px 2px 28px;
}

.promo-banner__strip{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:12px;
  border-radius:28px 0 0 28px;
}

.promo-banner__media{
  position:relative;
  z-index:1;
  width:92px;
  height:92px;
  flex:0 0 92px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.promo-banner__image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.promo-banner__content{
  position:relative;
  z-index:1;
  min-width:0;
  flex:1 1 auto;
}

.promo-banner__title{
  font-size:18px;
  line-height:1.15;
  font-weight:800;
  margin-bottom:8px;
}

.promo-banner__text{
  font-size:13px;
  line-height:1.35;
  color:#ffffff;
}

.promo-banner__arrow{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  font-size:42px;
  line-height:1;
  color:rgba(255,255,255,.48);
}

.promo-banner--green{
  background:linear-gradient(90deg,#173b26 0%, #183726 100%);
}

.promo-banner--green .promo-banner__strip{
  background:linear-gradient(180deg,#59f28a 0%, #1cc85e 100%);
}

.promo-banner--green .promo-banner__title{
  color:#3be074;
}

.promo-banner--blue{
  background:linear-gradient(90deg,#1e3144 0%, #24384b 100%);
}

.promo-banner--blue .promo-banner__strip{
  background:linear-gradient(180deg,#7fd8ff 0%, #34b5ff 100%);
}

.promo-banner--blue .promo-banner__title{
  color:#6fd1ff;
}

.promo-banner--gold{
  background:linear-gradient(90deg,#5c4a24 0%, #6c582b 100%);
}

.promo-banner--gold .promo-banner__strip{
  background:linear-gradient(180deg,#ffe08b 0%, #ffbf3f 100%);
}

.promo-banner--gold .promo-banner__title{
  color:#ffd76a;
}

.promo-banner--coral{
  background:linear-gradient(90deg,#4e2722 0%, #5e312b 100%);
}

.promo-banner--coral .promo-banner__strip{
  background:linear-gradient(180deg,#ffab9c 0%, #ff6d57 100%);
}

.promo-banner--coral .promo-banner__title{
  color:#ff998a;
}

.promo-banner--violet{
  background:linear-gradient(90deg,#35254d 0%, #412d5a 100%);
}

.promo-banner--violet .promo-banner__strip{
  background:linear-gradient(180deg,#d0b2ff 0%, #9f6cff 100%);
}

.promo-banner--violet .promo-banner__title{
  color:#caa7ff;
}

/* -----------------------------------
   Формы и кнопки
----------------------------------- */

.phone-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}

.phone-input{
  width:100%;
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.44);
  background:rgba(255,255,255,.62);
  padding:0 14px;
  font-size:16px;
  outline:none;
  color:var(--text);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 6px 16px rgba(31,41,55,.04);
}

.phone-input:focus{
  border-color:rgba(148,163,184,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.52),
    0 8px 20px rgba(31,41,55,.05),
    0 0 0 4px rgba(255,255,255,.24);
}

.primary-btn,
.link-btn{
  min-height:48px;
  border:none;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.primary-btn:active,
.link-btn:active{
  transform:scale(.985);
}

.primary-btn{
  color:#fff;
  background:
    linear-gradient(180deg, rgba(27,39,58,.96) 0%, rgba(17,24,39,.96) 100%);
  box-shadow:
    0 12px 28px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.primary-btn:disabled{
  opacity:.6;
  cursor:default;
}

.links-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:16px;
}

.link-btn{
  color:#fff;
  background:
    linear-gradient(180deg, rgba(27,39,58,.96) 0%, rgba(17,24,39,.96) 100%);
  box-shadow:
    0 12px 28px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.link-btn--secondary{
  background:rgba(255,255,255,.52);
  color:var(--text);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:
    0 10px 24px rgba(31,41,55,.08),
    inset 0 1px 0 rgba(255,255,255,.32);
}

/* -----------------------------------
   Секции заказов
----------------------------------- */

.orders-section{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.orders-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.orders-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.orders-group__title{
  font-size:20px;
  font-weight:800;
  color:var(--text);
  letter-spacing:-0.02em;
  padding:2px 2px 0;
}

.orders-group__list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* -----------------------------------
   Карточка заказа
----------------------------------- */

.order-card{
  position:relative;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:14px;
  width:100%;
  padding:9px;
  border-radius:26px;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(255,255,255,.36);
  text-align:left;
  cursor:pointer;
  box-shadow:
    0 14px 30px rgba(31,41,55,.10),
    0 3px 12px rgba(31,41,55,.05);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.order-card:hover{
  transform:translateY(-2px);
  box-shadow:
    0 18px 36px rgba(31,41,55,.12),
    0 4px 14px rgba(31,41,55,.06);
}

.order-card:active{
  transform:scale(.985);
}

.order-card:focus-visible{
  outline:none;
  box-shadow:
    0 18px 36px rgba(31,41,55,.12),
    0 4px 14px rgba(31,41,55,.06),
    0 0 0 3px rgba(255,255,255,.55);
}

.order-card--attention{
  border:1px solid rgba(239,68,68,.22);
  box-shadow:
    0 14px 30px rgba(31,41,55,.10),
    0 3px 12px rgba(31,41,55,.05),
    0 0 0 0 rgba(239,68,68,.35);
  animation:orderAttentionPulse 2.2s ease-in-out infinite;
}

.order-card--attention::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(
    120deg,
    rgba(239,68,68,.12),
    rgba(239,68,68,.02) 40%,
    transparent 60%
  );
  mix-blend-mode:soft-light;
}

.order-card__image-wrap{
  width:96px;
  height:96px;
  border-radius:20px;
  overflow:hidden;
  background:rgba(235,241,247,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    0 8px 20px rgba(31,41,55,.08),
    0 2px 8px rgba(31,41,55,.04);
}

.order-card__image{
  width:100%;
  height:100%;
  object-fit:cover;
}

.order-card__image-fallback{
  font-size:13px;
  color:var(--muted);
}

.order-card__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:6px;
}

.order-card__title{
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-0.01em;
  color:var(--text);
  word-break:break-word;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.order-card__stage{
  font-size:13px;
  line-height:1.45;
  font-weight:600;
  color:var(--text);
}

.order-card__meta-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:end;
}

.order-card__meta-label{
  font-size:11px;
  line-height:1.1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}

.order-card__eta{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.order-card__eta-date{
  font-size:14px;
  font-weight:700;
  color:var(--text);
}

.order-card__eta-text{
  font-size:13px;
  line-height:1.4;
  color:var(--text);
}

.order-card__eta-text-strong{
  font-weight:800;
  font-size:15px;
  color:#b42318;
}

.order-card__residue{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right;
  padding-right:5px;
}

.order-card__residue-value{
  font-size:20px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--text);
}

.order-card__residue-value.paid{
  position:relative;
  color:#3a7a5b;
  letter-spacing:-0.01em;
  text-shadow:
    0 1px 0 rgba(255,255,255,.45),
    0 1.5px 2px rgba(47,111,79,.12);
}

.order-card__residue-value.paid::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.25),
    rgba(255,255,255,0)
  );
  mix-blend-mode:soft-light;
}

.order-card__residue-value.residue-alert{
  color:#b42318;
  animation:residuePulse 1.8s ease-in-out infinite;
  text-shadow:
    0 1px 0 rgba(255,255,255,.35),
    0 2px 6px rgba(180,35,24,.16);
}

.order-card__track-btn{
  width:auto;
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:32px;
  padding:0 10px;
  border-radius:12px;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  line-height:1;
  box-shadow:
    0 6px 14px rgba(31,41,55,.06),
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  transition:transform .15s ease, box-shadow .15s ease;
}

.order-card__track-btn i{
  font-size:20px;
  line-height:1;
  transform:translateY(1px);
}

.order-card__track-btn:active{
  transform:scale(.96);
}

.order-card__track-btn--green{
  background:rgba(166,206,175,.78);
  color:#20392c;
  border:1px solid rgba(255,255,255,.44);
  box-shadow:
    0 6px 14px rgba(31,41,55,.08),
    inset 0 1px 0 rgba(255,255,255,.52);
  backdrop-filter:blur(12px) saturate(150%);
  -webkit-backdrop-filter:blur(12px) saturate(150%);
}

.order-card__track-btn--blue{
  background:rgba(198,208,222,.65);
  color:#2e3a46;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:
    0 6px 14px rgba(31,41,55,.08),
    inset 0 1px 0 rgba(255,255,255,.55);
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
}

.empty-orders{
  padding:20px;
  border-radius:24px;
  background:rgba(255,255,255,.40);
  border:1px solid rgba(255,255,255,.36);
  color:var(--muted);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}

/* -----------------------------------
   Drawer заказа
----------------------------------- */

.order-drawer{
  position:fixed;
  inset:0;
  z-index:1000;
}

.order-drawer__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.order-drawer__sheet{
  position:absolute;
  bottom:0;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  overflow-y:auto;
  overflow-x:hidden;

  background:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,.95), transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(255,245,230,.85), transparent 40%),
    radial-gradient(circle at 75% 85%, var(--champagne-1), transparent 35%),
    radial-gradient(circle at 30% 90%, var(--champagne-2), transparent 35%),
    linear-gradient(
      180deg,
      var(--bg3) 0%,
      var(--bg1) 40%,
      var(--bg2) 75%,
      var(--bg4) 100%
    );

  border:none;
  border-radius:32px 32px 0 0;
  padding:0;
  box-shadow:
    0 -8px 30px rgba(15,23,42,.10),
    0 -2px 10px rgba(15,23,42,.06);
}

.order-detail-screen{
  min-height:100%;
  display:block;
}

.order-detail-screen__body{
  padding:18px 16px calc(90px + env(safe-area-inset-bottom, 0px));
  display:flex;
  flex-direction:column;
  gap:16px;
}

.order-drawer__close{
  display:none;
}

.order-detail-hero{
  position:relative;
  margin:16px 16px 8px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:
    0 16px 36px rgba(31,41,55,.12),
    0 6px 16px rgba(31,41,55,.08);
}

.order-detail-hero__image{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1 / 1.08;
  object-fit:cover;
}

.order-detail-hero__placeholder{
  width:100%;
  aspect-ratio:1 / 1.08;
  background:rgba(255,255,255,.28);
}

.order-detail-hero__close{
  position:fixed;
  top:calc(var(--safe-top) + 26px);
  right:24px;
  width:48px;
  height:48px;
  border:none;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;

  background:
    linear-gradient(
      180deg,
      rgba(255,248,230,.96) 0%,
      rgba(248,234,194,.92) 55%,
      rgba(234,214,164,.90) 100%
    );

  color:#7a5a14;
  border:1px solid rgba(255,245,220,.62);

  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);

  box-shadow:
    0 16px 40px rgba(31,41,55,.14),
    0 6px 18px rgba(31,41,55,.08),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(194,166,98,.18);

  z-index:1250;
}

.order-detail-hero__close i{
  font-size:20px;
  line-height:1;
  color:#7a5a14;
}

.order-detail-screen__meta-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.order-detail-screen__order-no{
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--text);
}

.order-detail-screen__order-date{
  font-size:13px;
  color:var(--muted);
  text-align:right;
}

.order-detail-screen__section{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.order-detail-screen__label{
  font-size:12px;
  margin-bottom:2px;
  line-height:1.1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted);
}

.order-detail-screen__label-delivery{
  margin-top:4px;
  margin-bottom:2px;
  font-size:12px;
  line-height:1.1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted);
}

.order-detail-screen__product{
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--text);
}

.order-detail-screen__status-line{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:16px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--text);
}

.order-detail-screen__status-date{
  font-weight:800;
  color:var(--text);
}

.order-detail-screen__status-note{
  font-style:italic;
  font-weight:500;
  color:var(--muted);
}

.order-detail-screen__tracking{
  margin-top:3px;
  font-size:18px;
  font-weight:600;
  letter-spacing:.2px;
  color:#3a7a5b;
  text-shadow:
    0 1px 0 rgba(255,255,255,.45),
    0 1.5px 2px rgba(47,111,79,.12);
}

.order-detail-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.order-detail-summary__main{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.order-detail-summary__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  line-height:1.35;
  color:var(--muted);
}

.order-detail-summary__row strong{
  font-size:14px;
  font-weight:700;
  color:var(--text);
}

.order-detail-summary__balance{
  flex:0 0 auto;
  margin-left:4px;
  padding-left:28px;
  border-left:1px solid rgba(15,23,42,.07);
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.order-detail-summary__balance-label{
  font-size:15px;
  line-height:1.1;
  color:var(--muted);
  font-weight:600;
}

.order-detail-summary__balance-value{
  font-size:26px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--text);
}

.order-detail-summary__balance-value.is-paid{
  color:#3a7a5b;
  text-shadow:
    0 1px 0 rgba(255,255,255,.45),
    0 1.5px 2px rgba(47,111,79,.12);
}

.order-detail__loading{
  padding:20px 0;
  text-align:center;
  color:var(--muted);
}

/* -----------------------------------
   Бонусы в drawer
----------------------------------- */

.order-bonus{
  margin-top:18px;
}

.order-bonus__title{
  font-size:18px;
  font-weight:800;
  margin-left:14px;
  letter-spacing:-0.02em;
  color:var(--text);
}

.order-bonus__label{
  margin-top:6px;
  margin-left:14px;
  margin-bottom:2px;
  font-size:13px;
  color:var(--muted);
}

.order-bonus__form{
  display:flex;
  align-items:stretch;
  gap:8px;
  margin-top:2px;
}

.order-bonus__input{
  flex:1 1 auto;
  min-width:0;
  height:48px;
  border-radius:18px;
  border:1px solid rgba(194,166,98,.22);
  padding:0 16px;
  font-size:15px;
  color:var(--text);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 6px 14px rgba(31,41,55,.05);
  outline:none;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.order-bonus__input:focus{
  border-color:rgba(194,166,98,.68);
  background:rgba(255,255,255,.86);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 8px 20px rgba(180,150,86,.12),
    0 0 0 4px rgba(248,234,194,.42);
}

.order-bonus__btn{
  position:relative;
  overflow:hidden;
  flex:0 0 64px;
  height:48px;
  border:none;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#3f2d08;
  background:
    linear-gradient(
      180deg,
      rgba(255,248,230,.98) 0%,
      rgba(248,234,194,.94) 52%,
      rgba(234,214,164,.92) 100%
    );
  box-shadow:
    0 10px 22px rgba(180,150,86,.20),
    0 6px 14px rgba(31,41,55,.06),
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(194,166,98,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    opacity .18s ease;
}

.order-bonus__btn::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      transparent 20%,
      rgba(255,255,255,0) 34%,
      rgba(255,255,255,.30) 42%,
      rgba(255,244,208,.78) 50%,
      rgba(255,255,255,.24) 58%,
      rgba(255,255,255,0) 66%,
      transparent 80%
    );
  transform:translateX(-135%) skewX(-18deg);
  animation:bonusGoldShimmer 3.6s ease-in-out infinite;
}

.order-bonus__btn:active{
  transform:scale(.97);
}

.order-bonus__btn:disabled,
.order-bonus__input:disabled{
  opacity:.6;
  cursor:default;
}

.order-bonus__btn i{
  position:relative;
  z-index:1;
  font-size:22px;
  color:#7a5a14;
}

.bonus-box__hint{
  font-size:13px;
  line-height:1.4;
  color:var(--muted);
}

/* -----------------------------------
   Выбор доставки
----------------------------------- */

.order-detail-sticky-bar{
  position:sticky;
  bottom:0;
  z-index:30;
  margin-top:8px;
  padding-top:8px;
  padding-bottom:calc(6px + env(safe-area-inset-bottom, 0px));
}

.order-detail-sticky-bar__btn{
  width:100%;
  min-height:54px;
  border:none;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  font-weight:800;
  color:var(--text);
  background:rgba(255,255,255,.46);
  border:1px solid rgba(255,255,255,.46);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}

.order-detail-address-sheet{
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 10px);
  z-index:31;
  margin:0;
}

.order-detail-address-sheet__inner{
  max-height:320px;
  overflow:auto;
  background:rgba(255,255,255,.60);
  border:1px solid rgba(255,255,255,.42);
  border-radius:22px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  box-shadow:
    0 18px 40px rgba(31,41,55,.16),
    inset 0 1px 0 rgba(255,255,255,.30);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}

.delivery-choice-box__hint{
  font-size:13px;
  line-height:1.4;
  color:var(--muted);
}

.delivery-choice-item{
  width:100%;
  padding:12px;
  text-align:left;
  border:none;
  border-radius:16px;
  cursor:pointer;
  box-shadow:
    0 6px 14px rgba(31,41,55,.06),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.delivery-choice-item:disabled{
  opacity:.7;
  cursor:default;
}

.delivery-choice-item__service{
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
}

.delivery-choice-item__text{
  font-size:13px;
  line-height:1.4;
}

.delivery-choice-item--success{
  background:#198754;
  color:#fff;
}

.delivery-choice-item--primary{
  background:#0d6efd;
  color:#fff;
}

.delivery-choice-item--warning{
  background:#ffc107;
  color:#111827;
}

.delivery-choice-item--light{
  background:#f8f9fa;
  color:#111827;
  border:1px solid rgba(15,23,42,.08);
}

.delivery-choice-item--secondary{
  background:#6c757d;
  color:#fff;
}

/* -----------------------------------
   Анимации
----------------------------------- */

@keyframes orderAttentionPulse{
  0%{
    box-shadow:
      0 14px 30px rgba(31,41,55,.10),
      0 3px 12px rgba(31,41,55,.05),
      0 0 0 0 rgba(239,68,68,.35);
  }
  50%{
    box-shadow:
      0 14px 30px rgba(31,41,55,.10),
      0 3px 12px rgba(31,41,55,.05),
      0 0 0 10px rgba(239,68,68,0);
  }
  100%{
    box-shadow:
      0 14px 30px rgba(31,41,55,.10),
      0 3px 12px rgba(31,41,55,.05),
      0 0 0 0 rgba(239,68,68,0);
  }
}

@keyframes bonusGoldShimmer{
  0%{
    transform:translateX(-135%) skewX(-18deg);
    opacity:0;
  }
  12%{
    opacity:.95;
  }
  26%{
    transform:translateX(135%) skewX(-18deg);
    opacity:0;
  }
  100%{
    transform:translateX(135%) skewX(-18deg);
    opacity:0;
  }
}

@keyframes avatarGoldShimmer{
  0%{
    transform:translateX(-140%) skewX(-18deg);
    opacity:0;
  }
  10%{
    opacity:.9;
  }
  26%{
    transform:translateX(140%) skewX(-18deg);
    opacity:0;
  }
  100%{
    transform:translateX(140%) skewX(-18deg);
    opacity:0;
  }
}

@keyframes residuePulse{
  0%{
    transform:scale(1);
    opacity:1;
  }
  50%{
    transform:scale(1.05);
    opacity:.82;
  }
  100%{
    transform:scale(1);
    opacity:1;
  }
}

/* -----------------------------------
   Клиентская лента и основная навигация
----------------------------------- */

.cabinet-home{
  padding-bottom:calc(104px + var(--safe-bottom));
}

.main-tab-panel{
  width:100%;
}

.client-feed{
  width:100%;
  padding-top:66px;
}

.client-feed__channel-bar{
  position:fixed;
  top:calc(4px + var(--safe-top));
  left:50%;
  z-index:45;
  width:min(430px, calc(100vw - 24px));
  padding:0;
  transform:translateX(-50%);
}

.client-feed__channel-tabs{
  position:relative;
  display:flex;
  align-items:center;
  gap:0;
  width:100%;
  min-height:50px;
  padding:4px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:20px;
  overflow-x:auto;
  overflow-y:hidden;
  background:rgba(255,255,255,.46);
  box-shadow:
    0 12px 30px rgba(31,41,55,.10),
    inset 0 1px 0 rgba(255,255,255,.68);
  backdrop-filter:blur(26px) saturate(165%);
  -webkit-backdrop-filter:blur(26px) saturate(165%);
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  scroll-padding:0 18px;
  -webkit-overflow-scrolling:touch;
}

.client-feed__channel-tabs::-webkit-scrollbar{
  display:none;
}

.client-feed__channel-tab{
  position:relative;
  z-index:2;
  flex:0 0 96px;
  width:96px;
  min-width:96px;
  min-height:40px;
  padding:0 10px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:#687487;
  font-size:14px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  transition:color .25s ease, transform .18s ease;
}

.client-feed__channel-tab.is-active{
  color:#22a865;
}

.client-feed__channel-slider{
  position:absolute;
  top:4px;
  bottom:4px;
  left:0;
  z-index:1;
  width:96px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:16px;
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.56));
  box-shadow:
    0 6px 18px rgba(31,41,55,.10),
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(148,163,184,.08);
  backdrop-filter:blur(24px) saturate(190%);
  -webkit-backdrop-filter:blur(24px) saturate(190%);
  transform:translateX(4px);
  transition:transform .42s cubic-bezier(.34,1.35,.64,1);
  pointer-events:none;
}

.client-feed__channel-slider.is-static{
  transition:none;
}

.client-feed__channel-tab:active{
  transform:scale(.97);
}

.client-feed__resume-marker{
  display:grid;
  grid-template-columns:minmax(20px, 1fr) auto minmax(20px, 1fr);
  align-items:center;
  gap:10px;
  padding:4px 8px 1px;
  color:#738095;
}

.client-feed__resume-marker span{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(115,128,149,.38));
}

.client-feed__resume-marker span:last-child{
  background:linear-gradient(90deg, rgba(115,128,149,.38), transparent);
}

.client-feed__resume-marker strong{
  font-size:12px;
  line-height:1;
  font-weight:650;
  white-space:nowrap;
}

.client-feed__list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.client-feed__state{
  padding:28px 20px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:22px;
  background:rgba(255,255,255,.42);
  color:var(--muted);
  text-align:center;
  font-size:15px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
}

.client-feed-card{
  position:relative;
  overflow:hidden;
  scroll-margin-top:calc(66px + var(--safe-top));
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:#f7f1e8;
  box-shadow:
    0 18px 44px rgba(93,76,55,.13),
    inset 0 1px 0 rgba(255,255,255,.82);
}

.client-feed-card.is-unread{
  border-color:rgba(52,181,105,.48);
}

.client-feed-card__unread-badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:8;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(239,250,243,.88);
  color:#249b59;
  font-size:11px;
  line-height:1;
  font-weight:750;
  box-shadow:0 7px 18px rgba(31,41,55,.12);
  backdrop-filter:blur(18px) saturate(155%);
  -webkit-backdrop-filter:blur(18px) saturate(155%);
  pointer-events:none;
}

.client-feed-card:not(.client-feed-card--has-media) .client-feed-card__unread-badge{
  position:relative;
  top:auto;
  left:auto;
  display:inline-flex;
  margin:14px 14px 0;
}

@media (max-width:370px){
  .client-feed__new-posts button{
    min-height:42px;
    padding-inline:11px;
    font-size:12px;
  }

  .client-feed__new-posts .client-feed__new-posts-resume{
    padding-inline:14px;
  }
}

.client-feed-card__carousel{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#ece9e4;
}

.client-feed-card__media-track{
  display:flex;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}

.client-feed-card__media-track::-webkit-scrollbar{
  display:none;
}

.client-feed-card__media-slide{
  min-width:100%;
  aspect-ratio:4 / 5;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  background:#ece9e4;
}

.client-feed-card__media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.client-feed-card__media-slide[data-feed-open-media]{
  cursor:zoom-in;
}

.client-feed-card__sound{
  position:absolute;
  top:14px;
  left:14px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(255,252,247,.82);
  color:#273142;
  box-shadow:0 8px 22px rgba(47,39,30,.14);
  backdrop-filter:blur(16px) saturate(130%);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  cursor:pointer;
}

.client-feed-card__sound svg{
  display:block;
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.client-feed-card__sound.is-active{
  border-color:rgba(62,176,103,.52);
  background:rgba(235,250,239,.88);
  color:#278f52;
}

.client-feed-card__counter{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  min-width:50px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:15px;
  background:rgba(255,252,247,.82);
  color:#273142;
  font-size:15px;
  line-height:1;
  font-weight:750;
  text-align:center;
  box-shadow:0 8px 22px rgba(47,39,30,.14);
  backdrop-filter:blur(16px) saturate(130%);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
}

.client-feed-card__dots{
  position:absolute;
  left:50%;
  bottom:32px;
  z-index:3;
  display:flex;
  gap:6px;
  transform:translateX(-50%);
  pointer-events:none;
}

.client-feed-card__dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.52);
  box-shadow:0 1px 4px rgba(15,23,42,.22);
}

.client-feed-card__dot.is-active{
  background:#fff;
}

.client-feed-card__body{
  position:relative;
  z-index:4;
  padding:19px 18px 18px;
  border-top:1px solid rgba(255,255,255,.82);
  border-radius:28px 28px 0 0;
  background:
    radial-gradient(circle at 92% 4%, rgba(179,215,187,.24), transparent 42%),
    radial-gradient(circle at 8% 100%, rgba(238,211,174,.24), transparent 44%),
    linear-gradient(145deg, rgba(255,253,249,.98), rgba(246,239,229,.99));
  color:#172033;
  box-shadow:
    0 -12px 30px rgba(89,72,51,.10),
    inset 0 1px 0 rgba(255,255,255,.84);
}

.client-feed-card--has-media .client-feed-card__body{
  margin-top:-20px;
}

.client-feed-card__meta{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.client-feed-card__brand{
  min-width:0;
  color:#172033;
  font-size:21px;
  line-height:1.2;
  font-weight:700;
  overflow-wrap:anywhere;
}

.client-feed-card__date{
  flex:0 0 auto;
  margin-left:auto;
  color:#748094;
  font-size:13px;
  line-height:1.2;
  font-weight:550;
  white-space:nowrap;
}

.client-feed-card__description{
  margin-bottom:13px;
  color:#667185;
  font-size:16px;
  line-height:1.34;
  overflow-wrap:anywhere;
}

.client-feed-card__products{
  margin:2px 0 4px;
}

.client-feed-product{
  position:relative;
  padding:2px 0 2px;
}

.client-feed-product + .client-feed-product{
  padding-top:9px;
}

.client-feed-product:last-child{
  padding-bottom:0;
}

.client-feed-product:not(:last-child)::after{
  content:"";
  position:absolute;
  right:16px;
  bottom:0;
  left:16px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(23,32,51,.15) 12%, rgba(23,32,51,.15) 88%, transparent);
}

.client-feed-product__heading{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:12px;
}

.client-feed-product__heading strong{
  color:#253044;
  font-size:17px;
  line-height:1.2;
  font-weight:720;
}

.client-feed-product__heading span{
  color:#6d788a;
  font-size:13px;
  line-height:1.3;
}

.client-feed-product__footer{
  margin-bottom:0;
}

.client-feed-product .client-feed-card__commerce{
  margin-bottom:6px;
}

.client-feed-card__price{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  margin:0 0 0 auto;
  padding:3px 0;
  white-space:nowrap;
}

.client-feed-card__price-label{
  color:#748094;
  font-size:12px;
  line-height:1.1;
  font-weight:550;
  letter-spacing:0;
}

.client-feed-card__price-value{
  color:#172033;
  font-size:26px;
  line-height:1;
  font-weight:680;
  letter-spacing:-.35px;
}

.client-feed-card__price-value span{
  font-size:.72em;
  font-weight:550;
}

.client-feed-card__commerce{
  display:grid;
  grid-template-columns:minmax(120px, 1fr) minmax(0, 1.45fr);
  align-items:stretch;
  gap:13px;
  margin-bottom:13px;
}

.client-feed-card__prepayment{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding-right:13px;
  border-right:1px solid rgba(23,32,51,.12);
}

.client-feed-card__prepayment span,
.client-feed-card__cashback > span:not(.client-feed-card__cashback-star){
  color:#748094;
  font-size:13px;
  line-height:1.2;
}

.client-feed-card__prepayment strong{
  color:#273142;
  font-size:24px;
  line-height:1;
  font-weight:600;
  white-space:nowrap;
}

.client-feed-card__cashback{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  row-gap:5px;
  padding:10px 13px;
  border:1px solid rgba(66,175,104,.58);
  border-radius:16px;
  background:rgba(116,193,139,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.client-feed-card__cashback > span:not(.client-feed-card__cashback-star){
  grid-column:1 / -1;
}

.client-feed-card__cashback strong,
.client-feed-card__cashback b{
  color:#2f9d5c;
  font-size:21px;
  line-height:1;
  font-weight:700;
}

.client-feed-card__cashback b{
  padding-left:12px;
  border-left:1px solid rgba(23,32,51,.11);
}

.client-feed-card__cashback-star{
  position:absolute;
  top:-14px;
  right:-12px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#48b770;
  color:#fff;
  font-size:16px;
  box-shadow:0 8px 18px rgba(67,188,109,.28);
}

.client-feed-card__footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}

.client-feed-card__number{
  color:#7a8495;
  font-size:13px;
  line-height:1.2;
}

.client-feed-card__action{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:2px;
  padding:0 18px;
  border:1px solid rgba(87,213,126,.45);
  border-radius:14px;
  background:linear-gradient(135deg, #35ad62, #43bf70);
  color:#fff;
  font-size:17px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(45,171,92,.20);
  text-decoration:none;
  cursor:pointer;
}

@media (max-width:390px){
  .client-feed-card__body{
    padding:17px 15px 16px;
  }

  .client-feed-card__commerce{
    gap:10px;
  }

  .client-feed-card__prepayment{
    padding-right:9px;
  }

  .client-feed-card__prepayment strong,
  .client-feed-card__cashback strong,
  .client-feed-card__cashback b{
    font-size:19px;
  }

  .client-feed-product:not(:last-child)::after{
    right:10px;
    left:10px;
  }
}

.client-feed__sentinel{
  width:100%;
  height:44px;
}

.media-viewer{
  position:fixed;
  inset:0;
  z-index:240;
  width:100%;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 10%, rgba(126,112,94,.22), transparent 42%),
    rgba(28,29,30,.96);
  backdrop-filter:blur(24px) saturate(120%);
  -webkit-backdrop-filter:blur(24px) saturate(120%);
}

.media-viewer__close,
.media-viewer__counter{
  position:absolute;
  top:calc(14px + var(--safe-top));
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:16px;
  background:rgba(255,252,247,.86);
  color:#273142;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}

.media-viewer__close{
  left:14px;
  padding:0;
  font-size:30px;
  line-height:1;
  font-weight:350;
  cursor:pointer;
}

.media-viewer__counter{
  right:14px;
  padding:0 14px;
  font-size:14px;
  font-weight:750;
}

.media-viewer__track{
  display:flex;
  width:100%;
  height:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x pinch-zoom;
  -webkit-overflow-scrolling:touch;
}

.media-viewer__track::-webkit-scrollbar{
  display:none;
}

.media-viewer__slide{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 100%;
  width:100%;
  height:100%;
  padding:calc(76px + var(--safe-top)) 0 calc(24px + var(--safe-bottom));
  scroll-snap-align:center;
  scroll-snap-stop:always;
}

.media-viewer__media{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.media-viewer video.media-viewer__media{
  background:transparent;
}

.cabinet-tabbar{
  position:fixed;
  left:50%;
  bottom:calc(4px + var(--safe-bottom));
  z-index:80;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  width:min(310px, calc(100vw - 48px));
  min-height:58px;
  padding:4px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.62);
  border-radius:24px;
  background:rgba(255,255,255,.56);
  box-shadow:
    0 18px 42px rgba(31,41,55,.18),
    inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter:blur(30px) saturate(175%);
  -webkit-backdrop-filter:blur(30px) saturate(175%);
  transition:opacity .2s ease, transform .24s ease;
}

.cabinet-tabbar__slider{
  position:absolute;
  top:4px;
  bottom:4px;
  left:4px;
  z-index:1;
  width:calc((100% - 8px) / 3);
  border:1px solid rgba(255,255,255,.76);
  border-radius:20px;
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.56));
  box-shadow:
    0 6px 18px rgba(31,41,55,.10),
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 -1px 0 rgba(148,163,184,.08);
  backdrop-filter:blur(24px) saturate(190%);
  -webkit-backdrop-filter:blur(24px) saturate(190%);
  transform:translateX(100%);
  transition:transform .42s cubic-bezier(.34,1.35,.64,1);
  pointer-events:none;
}

.cabinet-tabbar.is-chat .cabinet-tabbar__slider{
  transform:translateX(0);
}

.cabinet-tabbar.is-cabinet .cabinet-tabbar__slider{
  transform:translateX(200%);
}

.cabinet-tabbar__item{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  min-width:0;
  border:0;
  border-radius:20px;
  background:transparent;
  color:#4b5563;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  transition:color .25s ease, transform .18s ease;
}

.cabinet-tabbar__item i{
  font-size:21px;
  line-height:1;
}

.cabinet-tabbar__item.is-active{
  color:#22aa67;
}

.cabinet-tabbar__icon-wrap{
  position:relative;
  display:inline-flex;
}

.cabinet-tabbar__badge{
  position:absolute;
  top:-7px;
  right:-13px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:9px;
  background:#e84d5b;
  color:#fff;
  font-size:9px;
  line-height:13px;
  text-align:center;
  box-sizing:border-box;
}

/* -----------------------------------
   Чат клиента с менеджером
----------------------------------- */

.cabinet-chat{
  display:flex;
  min-height:calc(var(--chat-layout-height, 100dvh) - 10px - var(--safe-top));
  padding:
    82px
    14px
    calc(82px + var(--safe-bottom) + var(--chat-composer-height, 52px));
  flex-direction:column;
}

.cabinet-chat__header{
  position:fixed;
  top:calc(4px + var(--effective-safe-top));
  left:50%;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:min(402px, calc(100vw - 52px));
  margin:0;
  padding:12px 14px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.68);
  border-radius:22px;
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 30px rgba(31,41,55,.09), inset 0 1px 0 rgba(255,255,255,.84);
  backdrop-filter:blur(28px) saturate(170%);
  -webkit-backdrop-filter:blur(28px) saturate(170%);
}

.cabinet-chat__header h1{
  margin:0;
  color:#172033;
  font-size:19px;
  line-height:1.2;
}

.cabinet-chat__status{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:5px;
  color:#2b9f5f;
  font-size:11px;
  font-weight:700;
}

.cabinet-chat__status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#39b96f;
  box-shadow:0 0 0 4px rgba(57,185,111,.12);
}

.cabinet-chat__messages{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  min-height:0;
  padding:6px 0;
}

.cabinet-chat__empty,
.cabinet-chat__welcome{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  margin:18vh auto 0;
  color:#7b8799;
  font-size:13px;
  text-align:center;
}

.cabinet-chat__welcome strong{
  color:#263247;
  font-size:18px;
}

.cabinet-chat__older{
  display:block;
  margin:4px auto 10px;
  padding:7px 13px;
  border:1px solid rgba(130,145,165,.2);
  border-radius:14px;
  background:rgba(255,255,255,.56);
  color:#637086;
  font-size:11px;
}

.cabinet-chat__message-row{
  display:flex;
  align-items:center;
  gap:5px;
  width:100%;
}

.cabinet-chat__message-row.is-mine{ justify-content:flex-end; }
.cabinet-chat__message-row.is-manager{ justify-content:flex-start; }

.cabinet-chat__bubble{
  max-width:min(82%, 340px);
  padding:9px 11px 7px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px 18px 18px 6px;
  background:rgba(255,255,255,.72);
  color:#202b3d;
  box-shadow:0 7px 20px rgba(31,41,55,.07);
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
}

.is-mine .cabinet-chat__bubble{
  border-color:rgba(86,196,128,.28);
  border-radius:18px 18px 6px 18px;
  background:linear-gradient(145deg, rgba(224,247,233,.93), rgba(211,241,224,.82));
}

.cabinet-chat__reply-action{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid rgba(255,255,255,.82);
  border-radius:50%;
  background:rgba(255,255,255,.62);
  color:#59687d;
  box-shadow:0 7px 18px rgba(31,41,55,.10), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(18px) saturate(165%);
  -webkit-backdrop-filter:blur(18px) saturate(165%);
}

.cabinet-chat__reply-action svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cabinet-chat__reply-action:active{
  transform:scale(.92);
  background:rgba(236,248,240,.8);
  color:#2fa866;
}

.cabinet-chat__quoted{
  display:flex;
  width:100%;
  margin:-2px 0 7px;
  padding:5px 7px;
  flex-direction:column;
  overflow:hidden;
  border:0;
  border-left:3px solid #caa65e;
  border-radius:4px 9px 9px 4px;
  background:rgba(255,255,255,.48);
  text-align:left;
}

.cabinet-chat__quoted strong{
  color:#9b752e;
  font-size:10px;
}

.cabinet-chat__quoted span{
  overflow:hidden;
  color:#647187;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cabinet-chat__message-row.is-highlighted .cabinet-chat__bubble{
  animation:cabinetChatReplyHighlight 1.2s ease;
}

@keyframes cabinetChatReplyHighlight{
  0%,100%{ box-shadow:0 7px 20px rgba(31,41,55,.07); }
  35%{ box-shadow:0 0 0 4px rgba(202,166,94,.28), 0 9px 24px rgba(31,41,55,.12); }
}

.cabinet-chat__text{
  overflow-wrap:anywhere;
  font-size:14px;
  line-height:1.35;
}

.cabinet-chat__text a{
  color:#218a58;
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

.cabinet-chat__payment-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  margin-top:8px;
  padding:8px 13px;
  border:1px solid rgba(44,174,101,.34);
  border-radius:12px;
  background:linear-gradient(135deg, #31b96f, #43c77d);
  color:#fff;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 7px 16px rgba(38,158,91,.18), inset 0 1px 0 rgba(255,255,255,.28);
}

.cabinet-chat__payment-link svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cabinet-chat__payment-link:active{
  transform:scale(.98);
}

.cabinet-chat__attachment{
  display:block;
  max-width:100%;
  margin:-3px -4px 7px;
  overflow:hidden;
  border-radius:13px;
}

.cabinet-chat__attachment img,
.cabinet-chat__attachment video{
  display:block;
  width:100%;
  max-height:320px;
  border-radius:13px;
  background:#e9ecea;
  object-fit:contain;
}

.cabinet-chat__attachment--document{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:220px;
  padding:10px;
  background:rgba(255,255,255,.58);
  color:#253148;
  text-decoration:none;
}

.cabinet-chat__attachment--document b{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:11px;
  background:rgba(205,170,103,.18);
  color:#9b752e;
  font-size:19px;
}

.cabinet-chat__attachment--document span{
  overflow:hidden;
  font-size:12px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cabinet-chat__message-meta{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  margin-top:4px;
  color:#8290a3;
  font-size:9px;
}

.cabinet-chat__delivery{ color:#58a979; }

.cabinet-chat__publication{
  display:flex;
  align-items:center;
  gap:8px;
  margin:-3px -4px 8px;
  padding:5px;
  border-radius:12px;
  background:rgba(255,255,255,.48);
}

.cabinet-chat__publication img,
.cabinet-chat__publication-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:9px;
  object-fit:cover;
  background:#e8eee9;
  color:#65a77d;
  font-weight:800;
}

.cabinet-chat__publication div{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.cabinet-chat__publication strong{ font-size:12px; }
.cabinet-chat__publication span{ color:#7d899a; font-size:10px; }

.cabinet-chat__composer{
  position:fixed;
  left:50%;
  bottom:calc(70px + var(--safe-bottom));
  z-index:75;
  width:min(430px, calc(100vw - 24px));
  padding:6px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.68);
  border-radius:22px;
  background:rgba(255,255,255,.65);
  box-shadow:0 14px 34px rgba(31,41,55,.16), inset 0 1px 0 rgba(255,255,255,.85);
  backdrop-filter:blur(28px) saturate(170%);
  -webkit-backdrop-filter:blur(28px) saturate(170%);
}

html.chat-keyboard-open .cabinet-chat{
  padding-bottom:calc(
    var(--chat-keyboard-inset, 0px)
    + var(--chat-composer-height, 52px)
    + 20px
  );
}

html.chat-keyboard-open .cabinet-chat__composer{
  bottom:calc(var(--chat-keyboard-inset, 0px) + 8px);
}

html.chat-keyboard-open .cabinet-tabbar{
  opacity:0;
  transform:translate(-50%, 18px);
  pointer-events:none;
}

.cabinet-chat__composer-row{
  display:flex;
  align-items:flex-end;
  gap:6px;
}

.cabinet-chat__attach{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:15px;
  background:rgba(246,248,247,.78);
  color:#627086;
  cursor:pointer;
}

.cabinet-chat__attach svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cabinet-chat__composer textarea{
  flex:1;
  min-height:40px;
  max-height:108px;
  padding:10px 12px;
  -webkit-appearance:none;
  appearance:none;
  resize:none;
  border:0;
  outline:0;
  border-radius:16px;
  background:rgba(246,248,247,.78);
  caret-color:#35b86e;
  color:#202b3d;
  font:inherit;
  font-size:14px;
  line-height:20px;
}

.cabinet-chat__send{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:15px;
  background:#35b86e;
  color:#fff;
  box-shadow:0 7px 16px rgba(53,184,110,.27);
}

.cabinet-chat__send svg{
  width:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cabinet-chat__send:disabled{ opacity:.55; }

.cabinet-chat__draft{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
  padding:5px 7px;
  border-radius:14px;
  background:rgba(236,247,240,.8);
}

.cabinet-chat__reply-draft{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
  padding:6px 7px;
  border-radius:14px;
  background:rgba(249,244,232,.88);
}

.cabinet-chat__reply-line{
  align-self:stretch;
  width:3px;
  border-radius:3px;
  background:#caa65e;
}

.cabinet-chat__reply-draft > div{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
}

.cabinet-chat__reply-draft strong{
  color:#9b752e;
  font-size:11px;
}

.cabinet-chat__reply-draft div span{
  overflow:hidden;
  color:#707d90;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cabinet-chat__reply-draft button{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.62);
  color:#738096;
  font-size:20px;
}

.cabinet-chat__draft-image{
  width:36px;
  height:36px;
  border-radius:9px;
  object-fit:cover;
}

.cabinet-chat__draft-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
}

.cabinet-chat__draft-copy strong{
  overflow:hidden;
  color:#253148;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cabinet-chat__draft-copy span{ color:#7a8798; font-size:10px; }

.cabinet-chat__draft button{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.62);
  color:#738096;
  font-size:20px;
}

.cabinet-chat__attachment-draft{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
  padding:5px 7px;
  border-radius:14px;
  background:rgba(249,244,232,.88);
}

.cabinet-chat__attachment-preview,
.cabinet-chat__attachment-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:9px;
  object-fit:cover;
  background:rgba(205,170,103,.16);
}

.cabinet-chat__attachment-draft > div{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
}

.cabinet-chat__attachment-draft strong{
  overflow:hidden;
  color:#253148;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cabinet-chat__attachment-draft span:not(.cabinet-chat__attachment-icon){
  color:#7a8798;
  font-size:10px;
}

.cabinet-chat__attachment-draft button{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.62);
  color:#738096;
  font-size:20px;
}

.cabinet-tabbar__item:active{
  transform:scale(.97);
}

.feed-floating-actions{
  position:fixed;
  left:50%;
  bottom:calc(70px + var(--safe-bottom));
  z-index:79;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:min(430px, calc(100vw - 24px));
  transform:translateX(-50%);
  pointer-events:none;
}

.feed-floating-action{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.70);
  border-radius:50%;
  background:rgba(255,255,255,.60);
  color:#4b586b;
  box-shadow:
    0 10px 26px rgba(31,41,55,.14),
    inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:blur(24px) saturate(175%);
  -webkit-backdrop-filter:blur(24px) saturate(175%);
  pointer-events:auto;
  cursor:pointer;
  transition:color .2s ease, background .2s ease, transform .18s ease;
}

.feed-floating-action svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.feed-floating-action:active{
  transform:scale(.94);
}

.feed-floating-action:disabled{
  opacity:.68;
  cursor:default;
  transform:none;
}

.feed-floating-action__badge{
  position:absolute;
  top:-9px;
  right:-9px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border:2px solid rgba(255,255,255,.94);
  border-radius:999px;
  background:#35b66a;
  color:#fff;
  box-shadow:0 5px 13px rgba(38,154,89,.28);
  font-size:11px;
  line-height:1;
  font-weight:800;
}

.feed-floating-action__badge.hidden{
  display:none;
}

.feed-floating-action.is-active{
  border-color:rgba(69,184,110,.42);
  background:rgba(237,250,241,.78);
  color:#269a59;
}

.feed-floating-action__indicator{
  position:absolute;
  top:3px;
  right:3px;
  width:9px;
  height:9px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:#37b56a;
  opacity:0;
  transform:scale(.5);
  transition:opacity .2s ease, transform .2s ease;
}

.feed-floating-action.is-active .feed-floating-action__indicator{
  opacity:1;
  transform:scale(1);
}

@media (prefers-reduced-motion:reduce){
  .cabinet-tabbar__slider,
  .client-feed__channel-slider{
    transition-duration:.01ms;
  }
}

.brand-filter-sheet{
  position:fixed;
  inset:0;
  z-index:1200;
}

.brand-filter-sheet__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:rgba(15,23,42,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.brand-filter-sheet__panel{
  position:absolute;
  left:50%;
  bottom:calc(10px + var(--safe-bottom));
  width:min(430px, calc(100vw - 20px));
  max-height:calc(78vh - var(--safe-bottom));
  padding:10px 14px 14px;
  transform:translateX(-50%);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.70);
  border-radius:28px;
  background:rgba(250,247,241,.88);
  box-shadow:0 22px 60px rgba(31,41,55,.22);
  backdrop-filter:blur(34px) saturate(165%);
  -webkit-backdrop-filter:blur(34px) saturate(165%);
}

.brand-filter-sheet__grabber{
  width:38px;
  height:5px;
  margin:1px auto 12px;
  border-radius:999px;
  background:rgba(100,116,139,.30);
}

.brand-filter-sheet__title{
  margin-bottom:12px;
  color:#172033;
  font-size:19px;
  line-height:1.2;
  font-weight:800;
  text-align:center;
}

.brand-filter-sheet__options{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  max-height:48vh;
  padding:2px;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.brand-filter-sheet__option{
  min-height:44px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:15px;
  background:rgba(255,255,255,.50);
  color:#4b586b;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  overflow-wrap:anywhere;
  cursor:pointer;
}

.brand-filter-sheet__option.is-active{
  border-color:rgba(69,184,110,.40);
  background:rgba(228,247,234,.82);
  color:#269a59;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}

.brand-filter-sheet__empty{
  grid-column:1 / -1;
  padding:24px 12px;
  color:#748094;
  font-size:14px;
  text-align:center;
}

.brand-filter-sheet__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.brand-filter-sheet__reset,
.brand-filter-sheet__cancel{
  width:100%;
  min-height:46px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  color:#4b586b;
  font-size:15px;
  font-weight:750;
  cursor:pointer;
}

.brand-filter-sheet__reset{
  border-color:rgba(69,184,110,.30);
  background:rgba(228,247,234,.68);
  color:#269a59;
}

.brand-filter-sheet__reset:disabled{
  border-color:rgba(255,255,255,.52);
  background:rgba(255,255,255,.36);
  color:#9aa3b1;
  cursor:default;
}

.order-channel-sheet{
  position:fixed;
  inset:0;
  z-index:1200;
}

.order-channel-sheet__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:rgba(15,23,42,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.order-channel-sheet__panel{
  position:absolute;
  left:50%;
  bottom:0;
  width:min(430px, 100%);
  padding:10px 18px calc(18px + var(--safe-bottom));
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.66);
  border-radius:30px 30px 0 0;
  background:rgba(250,247,241,.88);
  box-shadow:0 -18px 48px rgba(31,41,55,.18);
  backdrop-filter:blur(32px) saturate(165%);
  -webkit-backdrop-filter:blur(32px) saturate(165%);
}

.order-channel-sheet__grabber{
  width:42px;
  height:5px;
  margin:0 auto 17px;
  border-radius:999px;
  background:rgba(95,111,132,.30);
}

.order-channel-sheet__title{
  color:var(--text);
  font-size:21px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
}

.order-channel-sheet__subtitle{
  min-height:18px;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}

.order-channel-sheet__links{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-top:18px;
}

.order-channel-sheet__link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:94px;
  padding:12px 6px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:20px;
  color:var(--text);
  font-size:13px;
  font-weight:750;
  text-decoration:none;
  box-shadow:
    0 8px 20px rgba(31,41,55,.08),
    inset 0 1px 0 rgba(255,255,255,.68);
}

.order-channel-sheet__link--max{
  background:rgba(116,94,245,.13);
}

.order-channel-sheet__link--whatsapp{
  background:rgba(37,211,102,.13);
}

.order-channel-sheet__link--telegram{
  background:rgba(42,171,238,.13);
}

.order-channel-sheet__logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:15px;
  background:rgba(255,255,255,.72);
}

.order-channel-sheet__logo svg{
  display:block;
  width:32px;
  height:32px;
}

.order-channel-sheet__cancel{
  width:100%;
  min-height:48px;
  margin-top:12px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  color:var(--text);
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}

/* -----------------------------------
   Адаптация
----------------------------------- */

@media (max-width:380px){
  .cabinet-topbar{
    gap:10px;
  }

  .cabinet-topbar__left{
    gap:10px;
  }

  .cabinet-topbar__name{
    font-size:21px;
  }

  .cabinet-avatar{
    width:50px;
    height:50px;
    flex-basis:50px;
  }

  .cabinet-avatar__img,
  .cabinet-avatar__fallback{
    width:39px;
    height:39px;
  }

  .bonus-pill{
    min-height:50px;
    padding:0 12px 0 9px;
  }

  .bonus-pill__value{
    font-size:17px;
  }

  .order-card{
    grid-template-columns:88px 1fr;
    gap:12px;
  }

  .order-card__image-wrap{
    width:88px;
    height:88px;
  }

  .order-card__title{
    font-size:14px;
  }

  .order-card__residue-value{
    font-size:18px;
  }
}

@media (min-width:700px){
  .page{
    padding:
      calc(14px + var(--safe-top))
      16px
      calc(28px + var(--safe-bottom));
  }

  .shell{
    max-width:430px;
  }
}

/* -----------------------------------
   Публичная лента
----------------------------------- */

.public-feed-page .cabinet-home{
  padding-bottom:calc(78px + var(--safe-bottom));
}

.public-feed-page .feed-floating-actions{
  bottom:calc(20px + var(--safe-bottom));
}

.public-feed-unavailable{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0 0 14px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:20px;
  background:rgba(255,255,255,.58);
  color:var(--text);
  box-shadow:0 10px 26px rgba(31,41,55,.08);
  backdrop-filter:blur(22px) saturate(155%);
  -webkit-backdrop-filter:blur(22px) saturate(155%);
}

.public-feed-unavailable strong{
  font-size:15px;
}

.public-feed-unavailable span{
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

@media (min-width:700px){
  .public-feed-page .shell{
    max-width:620px;
  }

  .public-feed-page .client-feed__channel-bar{
    width:min(620px, calc(100vw - 40px));
  }

  .public-feed-page .feed-floating-actions{
    width:min(760px, calc(100vw - 40px));
  }

  .public-feed-page .client-feed-card{
    border-radius:28px;
  }

  .public-feed-page .order-channel-sheet__panel,
  .public-feed-page .brand-filter-sheet__panel{
    bottom:24px;
    width:min(520px, calc(100% - 32px));
    border-radius:30px;
  }
}
