/* ---------- личный кабинет ---------- */
.cab-open #main>.wrap>*:not(#cabinet){display:none!important}
.cabinet{display:none;padding:24px 0 64px}.cab-open .cabinet{display:block}
.cab-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px 32px;margin-bottom:28px}
.cab-back{grid-column:1/-1;justify-self:start;min-height:36px}
.cab-hello{display:flex;align-items:center;gap:16px;min-width:0}.cab-hello h1{font-size:clamp(28px,4vw,40px);letter-spacing:-1px;line-height:1.05;margin:4px 0;overflow-wrap:anywhere}.cab-hello small{color:var(--muted);font-size:14px}
.cab-hello .avatar{width:64px;height:64px;font-size:24px;flex-shrink:0}
.cab-stats{display:flex;gap:12px}.cab-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 18px;min-width:120px}.cab-stats b{display:block;font-size:20px;letter-spacing:-.5px}.cab-stats span{font-size:12px;color:var(--muted)}
.cab-layout{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
.cab-tabs{display:flex;flex-direction:column;gap:4px;position:sticky;top:96px}
.cab-tabs button{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;min-height:46px;padding:10px 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--ink)}
.cab-tabs button:hover{background:var(--surface-alt)}.cab-tabs button[aria-current=page]{background:var(--green);color:#fff;border-color:var(--green)}
.cab-count{min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:var(--soft);color:var(--ink);font-size:12px;line-height:22px;text-align:center}.cab-count.hot{background:#d6452f;color:#fff}.cab-tabs [aria-current=page] .cab-count{background:var(--lime);color:var(--green)}
.cab-body{min-width:0;display:flex;flex-direction:column;gap:14px}
.cab-h{font-size:20px;letter-spacing:-.4px;margin:12px 0 2px}.cab-body>.cab-h:first-child{margin-top:0}
.cab-note{font-size:14px;color:var(--muted)}
.cab-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.cab-order{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}.cab-order.active{border-color:#9aba51;box-shadow:inset 0 0 0 1px #9aba51}
.cab-order-top{display:flex;align-items:center;gap:14px}.cab-order-main{flex:1;min-width:0}.cab-order-main b{display:block;font-size:16px}.cab-order-main small{font-size:13px;color:var(--muted)}
.cab-thumbs{display:flex}.cab-thumbs img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);background:var(--surface-alt)}.cab-thumbs img+img{margin-left:-16px}
.cab-order-lines{font-size:14px;color:var(--muted);margin:0}
.cab-order-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.cab-order-bottom>span b{font-size:18px}.cab-saved{display:block;font-size:12px;color:#4f7a22}
.cab-order .button{min-height:42px;font-size:14px;padding:8px 14px}.cab-rating{font-size:14px;color:#77962e;font-weight:700;align-self:center}
.status-pill.warn{background:#fff1cc;color:#6b4d00}.status-pill.bad{background:#fde3df;color:#93281a}.status-pill.muted{background:var(--surface-alt);color:var(--muted)}
.cab-quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cab-tile{display:flex;flex-direction:column;gap:6px;text-align:left;min-height:104px;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.cab-tile b{font-size:16px}.cab-tile span{font-size:13px;color:var(--muted)}.cab-tile:hover{border-color:var(--green)}.cab-tile.gift{background:var(--lime);border-color:var(--lime);color:var(--green)}.cab-tile.gift span{color:#2a442e}
.cab-fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.cab-fav{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.cab-fav-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--surface-alt)}.cab-fav>div{padding:10px 14px}.cab-fav b{display:block;font-size:14px}.cab-fav span{font-size:14px;color:var(--muted)}
.cab-fav-act{display:flex;justify-content:space-between;align-items:center;padding-top:0!important;margin-top:auto;padding-bottom:12px!important}.cab-fav-act .icon-btn{color:#77962e}
.cab-filter{display:flex;gap:8px;flex-wrap:wrap}.cab-filter button{min-height:40px;padding:6px 14px;border-radius:99px;border:1px solid var(--line);font-size:14px}.cab-filter [aria-pressed=true]{background:var(--green);color:var(--lime);border-color:var(--green)}
.cab-address{display:flex;justify-content:space-between;gap:16px;align-items:center}.cab-address p{margin:6px 0;font-size:14px}.cab-address small{color:var(--muted);font-size:13px}.cab-address b small{font-weight:600;color:#4f7a22}.cab-address.chosen{border-color:#9aba51}
.cab-gift,.cab-case,.cab-room{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;width:100%}.cab-gift p{margin:4px 0;font-size:14px}.cab-gift small,.cab-case small,.cab-room small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.cab-gift.off{opacity:.6}
.cab-promos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cab-promos small{display:block;color:var(--muted);margin-top:4px;font-size:13px}
.cab-room{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px}.cab-room>div{flex:1;min-width:0}.cab-room.off{opacity:.65}.cab-room .button{min-height:42px;font-size:14px}
.cab-steps{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:s}.cab-steps li{counter-increment:s;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.cab-steps li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--green);font-weight:800;display:grid;place-items:center;margin-bottom:4px}.cab-steps b{color:var(--ink);font-size:14px}
.cab-empty{text-align:center;padding:40px 20px;background:var(--surface);border:1px dashed var(--line);border-radius:16px}.cab-empty p{color:var(--muted);font-size:14px;margin:8px 0 16px}
.cab-body .promo-form{max-width:420px}
@media(max-width:900px){.cab-head{grid-template-columns:1fr}.cab-stats{overflow:auto}.cab-layout{grid-template-columns:1fr;gap:16px}
  .cab-tabs{flex-direction:row;overflow-x:auto;position:sticky;top:0;z-index:5;background:var(--bg);margin-inline:-16px;padding:8px 16px;scrollbar-width:none}.cab-tabs::-webkit-scrollbar{display:none}.cab-tabs button{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;font-size:14px}.cab-steps{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cabinet{padding:12px 0 96px}.cab-hello .avatar{width:52px;height:52px;font-size:20px}.cab-stats>div{min-width:0;flex:1;padding:10px 12px}.cab-stats b{font-size:17px}.cab-stats span{font-size:11px}
  .cab-order{padding:16px}.cab-order-top{flex-wrap:wrap}.cab-order-top .status-pill{order:3}.cab-address,.cab-room,.cab-gift{flex-direction:column;align-items:stretch}.cab-room .button{width:100%}.cab-fav-grid{grid-template-columns:1fr 1fr;gap:10px}.cab-quick{grid-template-columns:1fr}.cab-tile{min-height:0}.cab-steps{grid-template-columns:1fr}.cab-steps li{flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px 10px}.cab-steps li::before{margin:0}.cab-steps li span{flex-basis:100%;padding-left:38px}}

/* ---------- общий заказ ---------- */
.group-bar{scroll-margin-top:96px;margin-bottom:20px!important;display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 0;padding:14px 18px;border-radius:16px;background:var(--green);color:#fff}
.gb-main{display:flex;align-items:center;gap:14px;min-width:0}.gb-icon{width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--green);display:grid;place-items:center;font-size:22px;flex-shrink:0}
.gb-main small{display:block;font-size:12px;color:#cfe0c4}.gb-main b{display:block;font-size:18px;overflow-wrap:anywhere}.gb-main span{font-size:13px;color:#e4eedc}
.gb-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.gb-actions .button{min-height:42px;font-size:14px;padding:8px 14px}.gb-actions .text-action{color:#fff;text-decoration:underline;font-size:13px}
.group-mode .service-bar,#modal-body [data-action=g-finish],#modal-body button.full[data-action=g-ready],.group-mode .hero,.group-mode .taste-home,.group-mode .picker-band{display:none!important}
.g-sub{font-size:13px;color:var(--muted);margin:-6px 0 12px}
.g-people{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.g-person{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.g-person.mine{border-color:#9aba51;background:#f6f9ec}
.g-person header{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:4px}.g-person header>b:first-child{flex:1;min-width:0}.g-person header small{font-weight:500;color:var(--muted);font-size:11px}
.g-ready{font-size:11px;font-weight:700;background:var(--lime);color:var(--green);border-radius:99px;padding:2px 8px}.g-wait{font-size:11px;color:var(--muted)}
.g-line{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"img name rm" "img qty sum";align-items:center;gap:4px 10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.g-line:first-of-type{border-top:0}
.g-line img{grid-area:img;align-self:start;width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--surface-alt)}.g-name{grid-area:name;min-width:0;overflow-wrap:anywhere;font-weight:600}.g-name small{display:block;color:var(--muted);font-size:11px;font-weight:400}
.g-line .quantity,.g-line .g-qty{grid-area:qty;justify-self:start}.g-line .quantity button{min-width:34px;min-height:34px}.g-line>b{grid-area:sum;justify-self:end}.g-qty{color:var(--muted)}.g-line .remove-line{grid-area:rm;min-width:32px;min-height:32px}
.g-empty{font-size:13px;color:var(--muted);padding:4px 0}
.g-split{font-size:14px;margin:8px 0 12px}.g-split summary{cursor:pointer;min-height:36px;font-weight:700}
.g-back{display:block;margin-top:10px;font-size:13px}
.g-share{display:flex;gap:8px}.g-share .button{flex:1}
.g-check{border:1px solid var(--line);border-radius:12px;padding:10px 14px}.g-check>b{display:block;margin-bottom:4px}
[data-theme=dark] .g-person.mine{background:#24361f}
@media(max-width:640px){.group-bar{flex-direction:column;align-items:stretch;padding:12px 14px;margin-top:8px}.gb-actions{justify-content:stretch}.gb-actions .button{flex:1}.gb-main b{font-size:16px}
  }
@media(max-width:640px){.cab-room .status-pill{align-self:flex-start}}
[data-theme=dark] .cab-saved,[data-theme=dark] .cab-address b small{color:#b9dc6a}
.g-tel{display:block;font-weight:500;font-size:12px;color:var(--muted);text-decoration:none}.g-check a{color:inherit;font-weight:500}
/* подарки в общем заказе */
.gb-gift-btn{background:transparent;color:#fff;border-color:#ffffff66}.gb-gift-btn:hover{border-color:var(--lime);color:var(--lime)}
.gb-gift{flex-basis:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:10px 14px;border-radius:12px;background:var(--lime);color:var(--green);font-size:14px}.gb-gift .text-action{color:var(--green);text-decoration:underline}
.group-bar:has(.gb-gift){flex-wrap:wrap}
.gift-mode .product .add-button{background:var(--lime);color:var(--green)}
.g-line.gift{background:linear-gradient(90deg,#d9ff3f26,transparent);border-radius:8px}
.g-gift-tag{color:#4f7a22!important;font-weight:600!important}[data-theme=dark] .g-gift-tag{color:#b9dc6a!important}
.g-gift-link{display:block;margin-top:6px;font-size:13px;min-height:32px}
.g-myshare{font-size:14px;margin:4px 0 10px}
.g-choose{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.g-choose legend{font-weight:700;font-size:14px;margin-bottom:8px}
.g-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.g-opt:has(input:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.g-opt input{margin-top:3px;accent-color:var(--green)}.g-opt b{display:block;font-size:15px}.g-opt small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
@media(max-width:640px){.gb-gift{flex-direction:column;align-items:flex-start}}
/* отправка ссылок в мессенджеры */
.g-share{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.share-max{background:linear-gradient(135deg,#3a7bff,#8a3ffc);color:#fff;border:0}.share-max:hover{filter:brightness(1.08);color:#fff}
.share-more{justify-self:center;font-size:14px;min-height:36px}
/* удаление групп и повторные сборы */
.cab-room{flex-wrap:wrap}.cab-room-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cab-danger{color:#b3321f;border-color:#e7b9b0}@media(hover:hover){.cab-danger:hover{background:#fde3df}}[data-theme=dark] .cab-danger{color:#ff9b8a;border-color:#6b3a33}
.g-danger{display:block;margin-top:6px;font-size:13px;color:#b3321f}[data-theme=dark] .g-danger{color:#ff9b8a}
@media(max-width:640px){.cab-room-acts{flex-direction:column}.cab-room-acts .button{width:100%}}
/* вход по SMS */
.auth-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:color-mix(in srgb,var(--lime,#d7ff3f) 22%,var(--surface,#fff));border-color:color-mix(in srgb,var(--lime,#d7ff3f) 60%,transparent)}
.auth-cta .button{flex:none}
.auth-actions{display:flex;gap:8px;flex-wrap:wrap}
.auth-ok{display:inline-block;font-size:12px;padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--lime,#d7ff3f) 45%,transparent);color:inherit;margin-left:4px}
.auth-code{font-size:28px;letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums}
.auth-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.auth-row .text-action:disabled{opacity:.55;cursor:default}
@media(max-width:640px){.auth-cta{flex-direction:column;align-items:stretch}.auth-cta .button{width:100%}}
/* ---------- ярлык на рабочем столе ---------- */
.inst-row{display:flex;gap:14px;align-items:center}
.inst-row img,.inst-hero img{border-radius:12px;flex-shrink:0}
.inst-row .cab-h{margin:0 0 2px}
.inst-actions{display:flex;gap:10px;flex-wrap:wrap}
.inst-tile b::before{content:"";display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-3px;border-radius:5px;background:#203d2d url("/favicon.svg") center/100% no-repeat}
.inst-hero{display:flex;gap:14px;align-items:center}
.inst-hero p{margin:0;font-size:15px}
.inst-tip,.inst-note{margin:0;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45;background:var(--soft);color:var(--ink)}
.inst-note{background:#f3fbd2;color:#2c3a1a}
.inst-tabs{display:flex;gap:6px;flex-wrap:wrap}
.inst-tabs button{min-height:42px;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.inst-tabs button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.inst-tabs small{font-weight:600;opacity:.75;margin-left:4px}
.inst-browser{border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.inst-browser h3{margin:0 0 6px;font-size:15px}
.inst-browser ol{margin:0;padding-left:20px;font-size:14px;line-height:1.5}
.inst-browser li+li{margin-top:4px}
.inst-share{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.inst-share .cab-note{margin:0}
@media(max-width:560px){.inst-actions .button{flex:1 1 100%}}
.cab-name-row{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-width:0}
.cab-name-row h1{min-width:0}
.inst-head{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 8px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.inst-head:hover{background:var(--lime);border-color:var(--lime);color:#203d2d}
.inst-head:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.inst-head img{border-radius:7px;flex-shrink:0}
@media(max-width:640px){.inst-head{min-height:36px;font-size:12px;padding:5px 12px 5px 6px}.inst-head img{width:20px;height:20px}}
.inst-short{display:none}
@media(max-width:640px){.cab-name-row{flex-wrap:nowrap}.cab-name-row h1{flex:0 1 auto}.inst-head{flex-shrink:0}.inst-long{display:none}.inst-short{display:inline}}
.mkt-ask{border:1px solid #c9dc5a;background:#f7fbe3;border-radius:14px;padding:14px 16px;display:grid;gap:6px}
.mkt-ask p{margin:0;font-size:14px;color:#3d4a40}
.mkt-ask-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.mkt-ask-row .button{min-height:40px;padding:0 18px}
