/* ============================================================
   MASTERMAP OS — launcher / home screen + app switcher
   Additive layer. Does NOT change existing app IDs or logic.   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');

:root{
  --mmos-accent:#ff5f1f;
  --mmos-accent2:#00b894;
  --mmos-blue:#4f7fff;
  --mmos-navy:#17324e;
  --mmos-ink:#141a24;
  --mmos-muted:#7a8494;
}

/* Onboarding is replaced by the OS home */
#onboarding{display:none !important;}

/* ---------- shared ---------- */
.mmos-layer{
  position:fixed;inset:0;z-index:99990;
  font-family:'Nunito',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;
  overflow:hidden;
  opacity:1;transition:opacity .28s ease;
}
.mmos-layer[hidden]{display:none !important;}
.mmos-tap{cursor:pointer;transition:transform .14s ease,filter .14s ease;}
.mmos-tap:active{transform:scale(.96);filter:brightness(.97);}
.mmos-cat{cursor:pointer;transition:transform .16s ease;}
.mmos-cat:active{transform:scale(.92);}
.mmos-fade{animation:mmosf .34s ease;}
@keyframes mmosf{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- HOME ---------- */
#mmos-home{background:#e9ebef;}
#mmos-home .mmos-wall{position:absolute;inset:0;}
#mmos-home .mmos-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,.05) 22%,rgba(255,255,255,0) 52%,rgba(233,236,240,.65) 100%);}
#mmos-home .mmos-content{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 20px) 0 0;z-index:2;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;}
#mmos-home .mmos-content::-webkit-scrollbar{display:none;}

.mmos-brand{display:flex;align-items:center;gap:8px;padding:2px 22px 6px;}
.mmos-brand b{font-weight:900;font-size:15px;letter-spacing:.02em;color:var(--mmos-navy);}
.mmos-brand b i{color:var(--mmos-blue);font-style:normal;}

.mmos-greet{padding:0 22px;display:flex;align-items:flex-start;justify-content:space-between;}
.mmos-greet .h{font-size:15px;font-weight:700;color:var(--mmos-muted);}
.mmos-greet .n{font-size:26px;font-weight:900;color:var(--mmos-ink);letter-spacing:-.02em;}
.mmos-imaster{display:flex;align-items:center;gap:7px;background:#141a24;color:#fff;padding:9px 14px;border-radius:14px;font-weight:800;font-size:13.5px;border:none;box-shadow:0 10px 22px -10px rgba(20,26,36,.6);font-family:inherit;}

.mmos-search{margin:14px 22px 0;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);border-radius:20px;padding:15px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px -14px rgba(20,26,36,.4);}
.mmos-search span{font-size:16px;font-weight:700;color:#8a93a2;flex:1;}
.mmos-rot{display:block;height:22px;overflow:hidden;}
.mmos-rot-in{display:flex;flex-direction:column;animation:mmosRot 7s infinite;}
.mmos-rot-line{display:flex;align-items:center;height:22px;line-height:22px;font-size:15px;font-weight:700;color:#8a93a2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@keyframes mmosRot{0%,42%{transform:translateY(0)}50%,92%{transform:translateY(-22px)}100%{transform:translateY(0)}}

.mmos-sec{font-size:13px;font-weight:800;letter-spacing:.1em;color:#8a93a2;text-transform:uppercase;margin:22px 20px 14px;}
.mmos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 8px;padding:0 20px;}
.mmos-cat .ic{width:62px;height:62px;border-radius:19px;display:flex;align-items:center;justify-content:center;margin:0 auto;background:transparent !important;box-shadow:none !important;border:none !important;}
.mmos-cat .ic > *{background:transparent !important;box-shadow:none !important;}
/* Прозрачный фон у иконок категорий везде (главная, шторка, карта) */
.mmos-mapcat,.mmos-mapcat > *{background:transparent !important;box-shadow:none !important;border:none !important;}
.mmos-cat .lb{display:block;font-size:12.5px;font-weight:700;color:#3b4451;text-align:center;line-height:1.15;margin-top:7px;}

.mmos-spring{flex:0 0 16px;min-height:16px;}
.mmos-widget{margin:0 20px 16px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);border-radius:24px;padding:16px;box-shadow:0 18px 40px -18px rgba(20,26,36,.5);}
.mmos-widget .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.mmos-widget .top b{font-size:16px;font-weight:900;color:var(--mmos-ink);}
.mmos-widget .top i{font-size:13px;font-weight:800;color:var(--mmos-accent);font-style:normal;}
.mmos-widget .row{display:flex;align-items:center;gap:12px;}
.mmos-av{position:relative;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#3aa0ff,#2b7fe0);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:17px;}
.mmos-av .on{position:absolute;bottom:-3px;right:-3px;width:15px;height:15px;background:var(--mmos-accent2);border:2.5px solid #fff;border-radius:50%;}
.mmos-widget .nm{font-size:15px;font-weight:800;color:var(--mmos-ink);}
.mmos-widget .mt{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--mmos-muted);}
.mmos-callbtn{background:var(--mmos-accent);color:#fff;font-weight:800;font-size:14px;padding:10px 16px;border-radius:14px;border:none;box-shadow:0 8px 18px -6px var(--mmos-accent);font-family:inherit;}

.mmos-dock{position:sticky;bottom:0;margin:0 12px calc(env(safe-area-inset-bottom,0px) + 14px);background:rgba(255,255,255,.74);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:12px 8px 10px;display:flex;justify-content:space-around;box-shadow:0 18px 40px -16px rgba(20,26,36,.45);}
.mmos-dock .it{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9aa3b2;background:none;border:none;font-family:inherit;cursor:pointer;}
.mmos-dock .it.on{color:var(--mmos-accent);}
.mmos-dock .it span{font-size:11px;font-weight:800;}
.mmos-mapdock{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:9999;display:none;justify-content:space-around;align-items:center;background:rgba(255,255,255,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.9);border-radius:26px;box-shadow:0 20px 44px -20px rgba(20,26,36,.5);padding:10px 8px;}
.mmos-mapdock .it{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9aa3b2;background:none;border:none;font-family:inherit;cursor:pointer;padding:2px 10px;}
.mmos-mapdock .it.on{color:var(--mmos-accent);}
.mmos-mapdock .it span{font-size:11px;font-weight:800;}
.mmos-mapdock .it:active{transform:scale(.94);}
/* штатное модальное окно заявки (имя/телефон) больше не показываем — данные в карточке мастера */
#modal-request{display:none !important;}
/* ===== Чат по заявке — полноэкранное OS-окно ===== */
#mmos-chat{position:fixed;left:0;right:0;top:0;bottom:0;height:100dvh;z-index:99994;background:#f2f4f7;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .34s cubic-bezier(.22,1,.36,1);font-family:'Nunito',sans-serif;}
#mmos-chat.open{transform:none;}
#mmos-chat:not(.open){opacity:0;visibility:hidden;transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .2s,visibility 0s .34s;}
#mmos-chat .mmchat-head{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 14px;background:#fff;box-shadow:0 6px 22px -14px rgba(20,26,36,.4);}
#mmos-chat .mmchat-av{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#ff8a4c,#ff5f1f);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:18px;flex-shrink:0;}
#mmos-chat .mmchat-nm{font-size:16px;font-weight:900;color:#141a24;}
#mmos-chat .mmchat-sub{font-size:12.5px;font-weight:700;color:#8a93a2;}
#mmos-chat .mmchat-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:8px;}
#mmos-chat .mmchat-body::before{content:'';margin-top:auto;}
#mmos-chat .mmchat-empty{margin:auto;color:#9aa3b2;font-weight:700;font-size:14px;text-align:center;padding:20px;}
#mmos-chat .mmchat-row{display:flex;}
#mmos-chat .mmchat-row.me{justify-content:flex-end;}
#mmos-chat .mmchat-bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:15px;font-weight:600;line-height:1.35;position:relative;}
#mmos-chat .mmchat-row.them .mmchat-bubble{background:#f2f4f7;color:#141a24;border-bottom-left-radius:5px;}
#mmos-chat .mmchat-row.me .mmchat-bubble{background:#ff5f1f;color:#fff;border-bottom-right-radius:5px;}
#mmos-chat .mmchat-bubble .t{display:block;font-size:10.5px;font-weight:700;opacity:.65;margin-top:3px;}
#mmos-chat .mmchat-input{display:flex;align-items:center;gap:8px;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px);background:#fff;border-top:1px solid #f0f2f6;}
#mmos-chat .mmchat-input input{flex:1;background:#f2f4f7;border:1.5px solid #eef1f5;border-radius:16px;padding:13px 16px;font-size:15px;font-weight:600;color:#141a24;font-family:inherit;outline:none;}
#mmos-chat .mmchat-input input:focus{border-color:#ff5f1f;background:#fff;}
#mmos-chat .mmchat-send{width:46px;height:46px;flex-shrink:0;border-radius:50%;background:#ff5f1f;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;}
#mmos-chat .mmchat-send:active{transform:scale(.92);}

/* home indicator — toggles switcher / home */
#mmos-hbar{display:none !important;}
#mmos-hbar div{width:132px;height:5px;border-radius:3px;background:#141a24;opacity:.5;}

/* ---------- SWITCHER ---------- */
#mmos-switcher{z-index:99991;background:rgba(226,230,238,.82);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);}
#mmos-switcher .wrap{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 30px) 0 40px;}
#mmos-switcher .ttl{padding:0 24px;font-size:22px;font-weight:900;color:var(--mmos-ink);}
#mmos-switcher .sub{padding:0 24px;font-size:14px;font-weight:700;color:var(--mmos-muted);margin:6px 0 18px;}
#mmos-switcher .cards{flex:1;display:flex;flex-direction:column;gap:16px;padding:4px 20px 10px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.mmos-appcard{background:#fff;border-radius:24px;padding:16px;box-shadow:0 20px 44px -20px rgba(20,26,36,.5);border:1px solid #eef1f5;cursor:pointer;}
.mmos-appcard .hd{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.mmos-appcard .ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;}
.mmos-appcard .nm{font-size:16px;font-weight:900;color:var(--mmos-ink);}
.mmos-appcard .ds{font-size:13px;font-weight:700;color:#8a93a2;}
.mmos-appcard .pv{height:96px;border-radius:16px;overflow:hidden;position:relative;border:1px solid #eef1f5;}
.mmos-appcard .pv .grid{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px);background-size:26px 26px;opacity:.7;}
.mmos-appcard .pv .tag{position:absolute;left:14px;top:14px;font-size:13px;font-weight:800;}

/* ---------- CATEGORY PICKER (from search) ---------- */
#mmos-picker{z-index:99993;background:rgba(233,236,240,.92);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);}
.mmos-picker-wrap{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 20px) 0 calc(env(safe-area-inset-bottom,0px) + 20px);}
.mmos-picker-head{display:flex;align-items:center;gap:10px;padding:4px 16px 6px;}
.mmos-iconbtn{width:44px;height:44px;border-radius:14px;background:#fff;border:1px solid #eef1f5;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px -12px rgba(20,26,36,.35);}
.mmos-picker-title{font-size:22px;font-weight:900;color:var(--mmos-ink);}
.mmos-picker-search{margin:6px 16px 0;background:#fff;border:1px solid #e2e8f5;border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px -18px rgba(20,26,36,.35);}
.mmos-picker-search input{flex:1;border:none !important;outline:none;background:transparent !important;font-size:16px;font-weight:700;color:var(--mmos-ink);font-family:'Nunito',sans-serif;box-shadow:none !important;padding:0 !important;}
.mmos-picker-search input::placeholder{color:#a3abb9;font-weight:600;}
.mmos-picker-mic{width:36px;height:36px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;}
.mmos-picker-mic:active{transform:scale(.92);}
.mmos-picker-results{padding:0 16px;display:flex;flex-direction:column;gap:8px;}
.mmos-pres{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eef1f5;border-radius:16px;padding:10px 12px;cursor:pointer;box-shadow:0 8px 22px -16px rgba(20,26,36,.4);}
.mmos-pres:active{transform:scale(.99);}
.mmos-pres-av{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#3aa0ff,#2b7fe0);color:#fff;font-weight:900;font-size:17px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mmos-pres-nm{font-size:15px;font-weight:800;color:var(--mmos-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mmos-pres-sub{font-size:12.5px;font-weight:700;color:var(--mmos-muted);}
.mmos-pres-addr{font-size:11.5px;font-weight:600;color:#9aa3b2;margin-top:2px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mmos-pres-map{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#eef4ff;color:#2b7fe0;border:1.5px solid #d6e6ff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.mmos-pres-map:active{transform:scale(.92);}
.mmos-pres-btn{background:#ff5f1f;color:#fff;font-weight:800;font-size:13px;padding:9px 14px;border-radius:12px;border:none;cursor:pointer;font-family:'Nunito',sans-serif;flex-shrink:0;}
.mmos-pres-empty{padding:14px;text-align:center;color:#8a93a2;font-weight:700;font-size:14px;}
.mmos-picker-grid{margin-top:2px;}
.mmos-picker-spring{flex:1;}
.mmos-picker-go{margin:0 16px;background:linear-gradient(135deg,#ff5f1f,#e04010);color:#fff;font-weight:900;font-size:16px;padding:16px;border-radius:18px;border:none;font-family:'Nunito',sans-serif;box-shadow:0 14px 30px -10px rgba(255,95,31,.5);cursor:pointer;}
.mmos-picker-go:active{transform:scale(.98);}

/* ---------- BACK-TO-HOME button (inside app) ---------- */#mmos-back{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:12px;z-index:99988;display:flex;align-items:center;gap:6px;height:42px;padding:0 15px 0 11px;border-radius:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #eef1f5;box-shadow:0 10px 26px -12px rgba(20,26,36,.4);cursor:pointer;font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;color:var(--mmos-ink);}
#mmos-back[hidden]{display:none !important;}
#mmos-back:active{transform:scale(.96);}
/* кнопка «показать всех рядом» на карте */
#mmos-showall{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);transform:translateX(-50%);z-index:305;display:none;align-items:center;gap:8px;background:#141a24;color:#fff;font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;padding:13px 18px;border:none;border-radius:999px;box-shadow:0 14px 34px -12px rgba(20,26,36,.6);cursor:pointer;}
#mmos-showall:active{transform:translateX(-50%) scale(.97);}
/* убрать категории из нижней шторки на карте */
#cat-slider-wrap{display:none !important;}
/* спрятать старую синюю карточку мастера — используем OS-карточку */
#mtc{display:none !important;}
/* ===== OS master card (bottom sheet) ===== */
#mmos-mcard{position:fixed;left:0;right:0;bottom:0;z-index:9998;transform:translateY(110%);transition:transform .38s cubic-bezier(.22,1,.36,1);background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -18px 50px -20px rgba(20,26,36,.4);font-family:'Nunito',sans-serif;max-height:90vh;overflow-y:auto;padding:10px 18px calc(env(safe-area-inset-bottom,0px) + 20px);}
#mmos-mcard.open{transform:translateY(0);}
#mmos-mcard .mmc-handle{width:40px;height:5px;border-radius:3px;background:#e2e6ec;margin:0 auto 10px;cursor:grab;}
#mmos-mcard .mmc-head{cursor:grab;}
#mmos-mcard .mmc-chat-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;box-sizing:border-box;margin-bottom:10px;background:#fff2ec;color:#ff5f1f;border:1.5px solid #ffd2c7;border-radius:16px;padding:14px;font-size:15px;font-weight:900;font-family:'Nunito',sans-serif;cursor:pointer;}
#mmos-mcard .mmc-chat-btn:active{transform:scale(.98);}
.mc-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;margin-top:8px;background:#fff2ec;color:#ff5f1f;border:1.5px solid #ffd2c7;border-radius:14px;padding:12px;font-size:14px;font-weight:900;font-family:'Nunito',sans-serif;cursor:pointer;}
.mc-chat-btn:active{transform:scale(.98);}
.mc-route-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;margin-top:8px;background:#e9f4ff;color:#2b7fe0;border:1.5px solid #b8d9f5;border-radius:14px;padding:12px;font-size:14px;font-weight:900;font-family:'Nunito',sans-serif;cursor:pointer;}
.mc-route-btn:active{transform:scale(.98);}
#mmos-mcard .mmc-addr-row{display:flex;gap:8px;margin-bottom:12px;}
#mmos-mcard .mmc-addr-row .mmc-field{flex:1;margin:0;}
#mmos-mcard .mmc-addr-btn{flex-shrink:0;background:#2b7fe0;color:#fff;border:none;border-radius:13px;padding:0 16px;font-family:'Nunito',sans-serif;font-weight:900;font-size:14px;cursor:pointer;}
#mmos-mcard .mmc-addr-btn:active{transform:scale(.97);}
.mc-addrrow{display:flex;align-items:flex-start;gap:7px;background:#fff5f0;border:1px solid #ffe0d3;border-radius:11px;padding:9px 12px;margin-bottom:10px;font-size:13.5px;font-weight:700;color:#c2410c;line-height:1.4;}
.mc-addrrow svg{flex-shrink:0;margin-top:1px;}
.mc-callrow{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin-bottom:8px;background:#e6f7f2;color:#00996b;border:1.5px solid #b8ecdc;border-radius:14px;padding:12px 14px;font-size:15px;font-weight:900;text-decoration:none;font-family:'Nunito',sans-serif;}
.mc-callrow svg{flex-shrink:0;}
.mc-callrow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mc-callrow .mc-callcta{margin-left:auto;background:#00b894;color:#fff;border-radius:10px;padding:6px 12px;font-size:13px;flex-shrink:0;}
.mc-callrow:active{transform:scale(.99);}
.mc-callrow-empty{background:#f7f8fa;color:#9aa3b2;border-color:#eef1f5;font-weight:700;justify-content:center;}
/* ===== Продвижение / PRO ===== */
.promo-status{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #eef1f5;border-radius:18px;padding:15px 16px;box-shadow:0 12px 30px -22px rgba(20,26,36,.35);}
.promo-status.on{border-color:#b8ecdc;background:#f2fcf8;}
.promo-badge-pro{width:52px;height:40px;border-radius:11px;background:linear-gradient(135deg,#141a24,#2b3446);color:#ffd15c;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;letter-spacing:.5px;flex-shrink:0;}
.promo-badge-boost{width:60px;height:40px;border-radius:11px;background:linear-gradient(135deg,#ff8a4c,#ff5f1f);color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.promo-st-t{font-size:15.5px;font-weight:900;color:#141a24;}
.promo-st-s{font-size:13px;font-weight:700;color:#8a93a2;margin-top:2px;}
.promo-cap{font-size:12px;font-weight:800;color:#8a93a2;text-transform:uppercase;letter-spacing:.06em;margin:18px 2px 10px;}
.promo-plan{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid #eef1f5;border-radius:16px;padding:14px 16px;margin-bottom:9px;cursor:pointer;transition:border-color .15s,transform .1s;}
.promo-plan:active{transform:scale(.99);border-color:#ff5f1f;}
.promo-plan-t{font-size:15px;font-weight:900;color:#141a24;}
.promo-plan-s{font-size:12.5px;font-weight:700;color:#8a93a2;margin-top:2px;}
.promo-plan-r{text-align:right;flex-shrink:0;}
.promo-plan-price{font-size:16px;font-weight:900;color:#ff5f1f;}
.promo-plan-days{font-size:12px;font-weight:800;color:#9aa3b2;}
.promo-hist{display:flex;align-items:center;gap:12px;}
.promo-hist-t{font-size:14.5px;font-weight:800;color:#141a24;}
.promo-hist-badge{display:inline-block;margin-top:4px;font-size:11.5px;font-weight:900;padding:3px 9px;border-radius:8px;}
/* QR-оплата */
.promo-pay{text-align:center;}
.promo-pay-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.promo-back{background:none;border:none;color:#ff5f1f;font-weight:900;font-size:15px;cursor:pointer;font-family:inherit;padding:0;}
.promo-pay-title{flex:1;text-align:center;font-size:16px;font-weight:900;color:#141a24;margin-right:40px;}
.promo-amount{font-size:34px;font-weight:900;color:#141a24;}
.promo-days{font-size:14px;font-weight:800;color:#8a93a2;margin-bottom:16px;}
.promo-qr{width:210px;height:210px;margin:0 auto 16px;border-radius:18px;overflow:hidden;border:2px solid #eef1f5;background:#fff;}
.promo-qr img{width:100%;height:100%;object-fit:contain;}
.promo-qr-ph{width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;color:#9aa3b2;font-weight:900;font-size:16px;text-align:center;}
.promo-qr-ph span{font-size:12px;font-weight:700;color:#c2c9d4;}
.promo-ref-box{background:#fff7e6;border:1.5px dashed #f5d98a;border-radius:14px;padding:12px;margin-bottom:14px;}
.promo-ref-lbl{font-size:12px;font-weight:800;color:#a8802a;}
.promo-ref{font-size:24px;font-weight:900;color:#8a6400;letter-spacing:2px;margin-top:4px;}
.promo-steps{text-align:left;margin:0 0 16px;padding-left:20px;color:#5a6473;font-weight:700;font-size:13.5px;line-height:1.7;}
.promo-buy{width:100%;background:#ff5f1f;color:#fff;font-weight:900;font-size:16px;padding:15px;border-radius:16px;border:none;font-family:inherit;cursor:pointer;box-shadow:0 14px 30px -12px #ff5f1f;}
.promo-buy:active{transform:scale(.98);}
.mmos-pres-tag{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:900;padding:2px 7px;border-radius:6px;vertical-align:middle;}
.mmos-pres-tag.pro{background:#141a24;color:#ffd15c;}
.mmos-pres-tag.top{background:#fff2ec;color:#ff5f1f;}
.mmos-pres.promoted{border:1.5px solid #ffd2c7;background:#fffaf7;}
/* ===== Город + язык на главной ===== */
.mmos-toprow{display:flex;align-items:center;gap:10px;margin:2px 0 14px;}
.mmos-city{display:flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #eef1f5;border-radius:14px;padding:9px 13px;font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;color:#141a24;cursor:pointer;box-shadow:0 8px 20px -14px rgba(20,26,36,.4);}
.mmos-city:active{transform:scale(.97);}
.mmos-lang{display:flex;background:#eef1f5;border-radius:12px;padding:3px;margin-left:auto;}
.mmos-lang-btn{border:none;background:none;font-family:'Nunito',sans-serif;font-weight:900;font-size:13px;color:#8a93a2;padding:7px 13px;border-radius:9px;cursor:pointer;}
.mmos-lang-btn.on{background:#fff;color:#ff5f1f;box-shadow:0 3px 8px -3px rgba(20,26,36,.3);}
#mmos-city-sheet{position:fixed;inset:0;z-index:99995;background:rgba(20,26,36,.4);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;}
#mmos-city-sheet.open{opacity:1;pointer-events:auto;}
#mmos-city-sheet .mmos-city-card{width:100%;max-width:430px;background:#fff;border-radius:24px 24px 0 0;padding:18px 18px calc(env(safe-area-inset-bottom,0px) + 20px);max-height:72vh;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(20px);transition:transform .28s cubic-bezier(.22,1,.36,1);font-family:'Nunito',sans-serif;}
#mmos-city-sheet.open .mmos-city-card{transform:none;}
#mmos-city-sheet .mmos-city-h{position:sticky;top:-18px;background:#fff;padding-top:4px;font-size:17px;font-weight:900;color:#141a24;text-align:center;margin-bottom:14px;}
.mmos-citem{display:flex;align-items:center;gap:11px;width:100%;background:#f7f8fa;border:1.5px solid transparent;border-radius:14px;padding:14px 15px;margin-bottom:8px;font-family:'Nunito',sans-serif;font-weight:800;font-size:15.5px;color:#141a24;cursor:pointer;}
.mmos-citem.on{background:#fff2ec;border-color:#ffd2c7;color:#ff5f1f;}
.mmos-citem:active{transform:scale(.99);}
.mmos-seolinks{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 8px;}
.mmos-seolinks a{background:#f2f4f7;border-radius:10px;padding:8px 13px;font-size:13px;font-weight:700;color:#5a6473;text-decoration:none;}
.mmos-seolinks a:active{background:#fff2ec;color:#ff5f1f;}
/* Свайп-страницы категорий (как на iOS) */
.mmos-grid.mmos-paged{display:block;padding:0;}
.mmos-catpager{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;width:100%;}
.mmos-catpager::-webkit-scrollbar{display:none;}
.mmos-catpage{flex:0 0 100%;width:100%;box-sizing:border-box;scroll-snap-align:start;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 6px;padding:2px 20px;}
.mmos-catdots{display:flex;justify-content:center;gap:7px;margin-top:14px;}
.mmos-catdots span{width:7px;height:7px;border-radius:50%;background:#d5dae2;transition:width .2s,background .2s;}
.mmos-catdots span.on{width:20px;border-radius:4px;background:#ff5f1f;}
/* Пульсация метки «моё местоположение» на карте */
@keyframes mmGeoPulse{0%{box-shadow:0 0 0 0 rgba(43,127,224,.5),0 3px 8px rgba(0,0,0,.3)}70%{box-shadow:0 0 0 14px rgba(43,127,224,0),0 3px 8px rgba(0,0,0,.3)}100%{box-shadow:0 0 0 0 rgba(43,127,224,0),0 3px 8px rgba(0,0,0,.3)}}
/* ===== Центрированное окно запроса геолокации ===== */
#mmos-geo{position:fixed;inset:0;z-index:99997;background:rgba(20,26,36,.5);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s;}
#mmos-geo.open{opacity:1;pointer-events:auto;}
#mmos-geo .mmos-geo-card{width:100%;max-width:340px;background:#fff;border-radius:24px;padding:26px 22px 18px;text-align:center;font-family:'Nunito',sans-serif;transform:scale(.92);transition:transform .28s cubic-bezier(.22,1,.36,1);box-shadow:0 30px 70px -25px rgba(20,26,36,.6);}
#mmos-geo.open .mmos-geo-card{transform:none;}
#mmos-geo .mmos-geo-ic{width:64px;height:64px;border-radius:20px;background:#fff2ec;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
#mmos-geo .mmos-geo-h{font-size:19px;font-weight:900;color:#141a24;margin-bottom:8px;}
#mmos-geo .mmos-geo-s{font-size:14px;font-weight:600;color:#5a6473;line-height:1.5;margin-bottom:18px;}
#mmos-geo .mmos-geo-ok{width:100%;background:#ff5f1f;color:#fff;font-weight:900;font-size:16px;padding:15px;border-radius:15px;border:none;font-family:inherit;cursor:pointer;box-shadow:0 14px 30px -12px #ff5f1f;}
#mmos-geo .mmos-geo-ok:active{transform:scale(.98);}
#mmos-geo .mmos-geo-no{width:100%;background:none;color:#9aa3b2;font-weight:800;font-size:14px;padding:12px;border:none;font-family:inherit;cursor:pointer;margin-top:4px;}
/* Кнопки зума карты (+/-) — по центру справа */
div[class*="-zoom"]{top:50% !important;transform:translateY(-50%) !important;right:12px !important;left:auto !important;bottom:auto !important;}

/* ============================================================
   ПК-версия: показываем приложение как «телефон» по центру
   ============================================================ */
@media (min-width:820px){
  html,body{background:#0d1424 !important;}
  /* Карта — на весь экран, панель приложения слева */
  #map{position:fixed !important;inset:0 !important;left:0 !important;right:0 !important;top:0 !important;bottom:0 !important;transform:none !important;width:auto !important;height:auto !important;border-radius:0 !important;box-shadow:none !important;}
  .mmos-layer,#mmos-picker,#mmos-client,#mmos-master,#mmos-mprofile{left:24px !important;right:auto !important;transform:none !important;width:430px !important;top:24px !important;bottom:24px !important;height:auto !important;border-radius:28px !important;overflow:hidden !important;box-shadow:0 40px 100px -30px rgba(0,0,0,.6) !important;}
  .mmos-layer > *,#mmos-picker > *,#mmos-client > *,#mmos-master > *,#mmos-mprofile > *{max-height:100%;}
  /* Нижние шторки и чат — в той же левой колонке */
  #mmos-mcard{left:24px !important;right:auto !important;margin-left:0 !important;width:430px !important;max-height:calc(100vh - 60px) !important;border-radius:28px !important;}
  #mmos-chat{left:24px !important;right:auto !important;margin-left:0 !important;width:430px !important;top:24px !important;bottom:24px !important;height:auto !important;border-radius:28px !important;overflow:hidden !important;}
  #mmos-mapdock{left:24px !important;right:auto !important;transform:none !important;width:430px !important;bottom:30px !important;}
  #mm-splash{left:24px !important;right:auto !important;transform:none !important;width:430px !important;top:24px !important;bottom:24px !important;height:auto !important;border-radius:28px !important;}
  #master-top-card{left:24px !important;right:auto !important;transform:translateY(-100%) !important;width:430px !important;}
  #master-top-card.show,#master-top-card[style*="translateY(0"]{transform:translateY(0) !important;}
  #map-client-controls{left:24px !important;right:auto !important;transform:none !important;width:406px !important;top:34px !important;}
  /* На ПК строка поиска на карте не нужна — поиск в панели слева */
  #map-search-bar,#map-search-suggest,#ai-top-static{display:none !important;}
  /* Кнопки карты и подсказка — справа, не перекрываются панелью */
  .mapboxgl-ctrl-top-right{right:24px !important;}
  #mmos-spechint{right:24px !important;}
  #mmos-mback{left:24px !important;top:38px !important;}
  /* Отступ у панели, чтобы карта читалась под ней */
  #mmos-geo{left:24px !important;right:auto !important;width:430px !important;}
}
@media (min-width:820px) and (max-height:760px){
  .mmos-layer,#mmos-picker,#mmos-client,#mmos-master,#mmos-mprofile,#mmos-chat,#mm-splash{top:10px !important;bottom:10px !important;}
}
#mmos-mcard .mmc-head{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
#mmos-mcard .mmc-av{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#3aa0ff,#2b7fe0);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:18px;flex-shrink:0;overflow:hidden;}
#mmos-mcard .mmc-av img{width:100%;height:100%;object-fit:cover;}
#mmos-mcard .mmc-nm{font-size:17px;font-weight:900;color:#141a24;}
#mmos-mcard .mmc-sub{font-size:13px;font-weight:700;color:#7a8494;}
#mmos-mcard .mmc-edit{font-size:13px;font-weight:800;color:#ff5f1f;cursor:pointer;background:none;border:none;font-family:inherit;}
#mmos-mcard .mmc-close{width:32px;height:32px;border-radius:50%;background:#f0f2f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
#mmos-mcard .mmc-close:active{transform:scale(.92);}
#mmos-mcard .mmc-go-mini{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#ff5f1f;color:#fff;border:none;border-radius:13px;padding:6px 15px;min-height:44px;font-family:'Nunito',sans-serif;cursor:pointer;box-shadow:0 8px 18px -8px #ff5f1f;line-height:1.05;}
#mmos-mcard .mmc-go-mini .g{font-weight:900;font-size:15px;}
#mmos-mcard .mmc-go-mini .ge{font-weight:700;font-size:11px;opacity:.95;white-space:nowrap;}
#mmos-mcard .mmc-go-mini .ge b{font-weight:900;}
#mmos-mcard .mmc-go-mini:active{transform:scale(.96);}
#mmos-mcard .mmc-cap{font-size:12px;font-weight:800;color:#8a93a2;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
#mmos-mcard .mmc-select{margin-bottom:8px;position:relative;}
#mmos-mcard .mmc-select-head{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;background:#f7f8fa;border:1.5px solid #eef1f5;border-radius:13px;padding:12px 14px;cursor:pointer;font-family:'Nunito',sans-serif;}
#mmos-mcard .mmc-select-head .s{flex:1;text-align:left;font-size:15px;font-weight:800;color:#141a24;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#mmos-mcard .mmc-select-head .p{font-size:14px;font-weight:900;color:#ff5f1f;flex-shrink:0;}
#mmos-mcard .mmc-select-chev{transition:transform .2s;flex-shrink:0;}
#mmos-mcard .mmc-select.open .mmc-select-chev{transform:rotate(180deg);}
#mmos-mcard .mmc-select-list{margin-top:6px;background:#fff;border:1.5px solid #eef1f5;border-radius:13px;overflow:hidden;box-shadow:0 12px 30px -18px rgba(20,26,36,.4);}
#mmos-mcard .mmc-select-list[hidden]{display:none;}
#mmos-mcard .mmc-opt{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;background:none;border:none;border-bottom:1px solid #f2f4f7;padding:12px 14px;cursor:pointer;font-family:'Nunito',sans-serif;}
#mmos-mcard .mmc-opt:last-child{border-bottom:none;}
#mmos-mcard .mmc-opt .s{flex:1;text-align:left;font-size:14.5px;font-weight:700;color:#3b4451;}
#mmos-mcard .mmc-opt .p{font-size:13.5px;font-weight:900;color:#8a93a2;flex-shrink:0;}
#mmos-mcard .mmc-opt.on{background:#fff2ec;}
#mmos-mcard .mmc-opt.on .s,#mmos-mcard .mmc-opt.on .p{color:#ff5f1f;}
#mmos-mcard .mmc-opt:active{background:#f7f8fa;}
#mmos-mcard .mmc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
#mmos-mcard .mmc-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 13px;border-radius:12px;background:#f2f4f7;color:#5a6473;font-weight:800;font-size:13.5px;cursor:pointer;border:1.5px solid transparent;font-family:inherit;}
#mmos-mcard .mmc-chip .p{font-size:12px;font-weight:900;color:#8a93a2;}
#mmos-mcard .mmc-chip.on{background:#fff2ec;color:#ff5f1f;border-color:#ffd2c7;}
#mmos-mcard .mmc-chip.on .p{color:#ff5f1f;}
#mmos-mcard .mmc-addr{background:#f7f8fa;border:1px solid #eef1f5;border-radius:16px;padding:14px 16px;margin-bottom:14px;}
#mmos-mcard .mmc-addr .r{display:flex;align-items:center;gap:10px;}
#mmos-mcard .mmc-addr .r+.r{margin-top:10px;}
#mmos-mcard .mmc-addr .a1{font-size:14.5px;font-weight:800;color:#141a24;}
#mmos-mcard .mmc-addr .a2{font-size:14px;font-weight:700;color:#8a93a2;}
#mmos-mcard .mmc-est{display:flex;align-items:center;justify-content:space-between;background:#fff5f0;border:1px solid #ffd9c7;border-radius:14px;padding:9px 15px;margin-bottom:0;}
#mmos-mcard .mmc-est .lbl{font-size:13px;font-weight:700;color:#8a93a2;}
#mmos-mcard .mmc-est .big{font-size:22px;font-weight:900;color:#141a24;}
#mmos-mcard .mmc-est .big.o{color:#ff5f1f;}
#mmos-mcard .mmc-go{width:100%;background:#ff5f1f;color:#fff;font-weight:900;font-size:17px;text-align:center;padding:15px;border-radius:16px;border:none;font-family:inherit;box-shadow:0 14px 30px -10px #ff5f1f;cursor:pointer;}
#mmos-mcard .mmc-go:active{transform:scale(.98);}
#mmos-mcard .mmc-fields{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
#mmos-mcard .mmc-fields[hidden]{display:none;}
#mmos-mcard .mmc-data{margin-bottom:8px;}
#mmos-mcard .mmc-data-head{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;background:#f7f8fa;border:1.5px solid #eef1f5;border-radius:13px;padding:12px 14px;cursor:pointer;font-family:inherit;}
#mmos-mcard .mmc-data-sum{flex:1;text-align:left;font-size:14px;font-weight:800;color:#141a24;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#mmos-mcard .mmc-data-chev{transition:transform .2s;flex-shrink:0;}
#mmos-mcard .mmc-data.open .mmc-data-chev{transform:rotate(180deg);}
#mmos-mcard .mmc-field{width:100%;box-sizing:border-box;background:#f7f8fa;border:1.5px solid #eef1f5;border-radius:13px;padding:12px 14px;font-size:15px;font-weight:700;color:#141a24;font-family:inherit;outline:none;}
#mmos-mcard .mmc-field:focus{border-color:#ff5f1f;background:#fff;}
#mmos-mcard .mmc-field::placeholder{color:#9aa3b2;font-weight:600;}
#mmos-mcard .mmc-review{margin-top:4px;}
#mmos-mcard .mmc-rv-title{font-size:16px;font-weight:900;color:#141a24;text-align:center;margin-bottom:12px;}
#mmos-mcard .mmc-stars-row{display:flex;justify-content:center;gap:8px;margin-bottom:14px;}
#mmos-mcard .mmc-star{font-size:34px;line-height:1;background:none;border:none;color:#e2e6ec;cursor:pointer;padding:0;font-family:inherit;transition:color .12s,transform .12s;}
#mmos-mcard .mmc-star.on{color:#ffb400;}
#mmos-mcard .mmc-star:active{transform:scale(1.2);}
#mmos-mcard .mmc-rv-text{width:100%;box-sizing:border-box;min-height:64px;background:#f7f8fa;border:1.5px solid #eef1f5;border-radius:14px;padding:12px 15px;font-size:15px;font-weight:600;color:#141a24;font-family:inherit;resize:none;outline:none;margin-bottom:14px;}
#mmos-mcard .mmc-rv-text:focus{border-color:#ff5f1f;background:#fff;}
#mmos-mcard .mmc-status{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:900;padding:11px 15px;border-radius:14px;margin-bottom:14px;}
#mmos-mcard .mmc-status-sub{font-size:14px;font-weight:700;color:#8a93a2;margin:-4px 0 16px;}
#mmos-mcard .mmc-dots{display:inline-flex;gap:4px;}
#mmos-mcard .mmc-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:mmcDot 1s infinite;}
#mmos-mcard .mmc-dots i:nth-child(2){animation-delay:.2s;}
#mmos-mcard .mmc-dots i:nth-child(3){animation-delay:.4s;}
@keyframes mmcDot{0%,100%{opacity:.3;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}
#mmos-mcard .mmc-cancel{width:100%;background:#fff0ec;color:#ff4d3d;font-weight:900;font-size:16px;text-align:center;padding:16px;border-radius:18px;border:1.5px solid #ffd2c7;font-family:inherit;cursor:pointer;}
#mmos-mcard .mmc-cancel:active{transform:scale(.98);}
/* сместить строку поиска на карте ниже кнопки \u00abНазад\u00bb */
#map-search-bar{top:66px !important;}
/* убрать бургер-меню слева на карте */
#map-search-bar > button[onclick*="openBsMenu"]{display:none !important;}
/* строка поиска на карте — как на главной (OS) */
#map-search-bar > div > div{border-radius:20px !important;box-shadow:0 12px 30px -14px rgba(20,26,36,.4) !important;height:52px !important;padding:0 10px 0 16px !important;border:1px solid rgba(255,255,255,.9) !important;background:rgba(255,255,255,.92) !important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
#map-search-input{font-family:'Nunito',sans-serif !important;font-size:16px !important;font-weight:700 !important;color:#141a24 !important;}
#map-search-input::placeholder{color:#8a93a2 !important;font-weight:600;}
#map-voice-btn{color:#ff5f1f !important;font-size:20px !important;}
#map-geo-btn-inline{color:#ff5f1f !important;}
/* строка категорий на карте (OS) */
#mmos-map-cats{display:none !important;}

/* ---------- CLIENT CABINET ---------- */
#mmos-client{z-index:99993;background:#f2f4f7;}
.mmos-cc-head{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 16px) 20px 14px;background:#fff;box-shadow:0 6px 22px -14px rgba(20,26,36,.4);}
.mmos-cc-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 20px;display:flex;flex-direction:column;gap:12px;}
.mmos-cc-body::-webkit-scrollbar{display:none;}
.mmos-cc-card,.mmos-cc-active,.mmos-cc-fav{background:#fff;border-radius:20px;padding:15px;border:1px solid #eef1f5;box-shadow:0 12px 30px -22px rgba(20,26,36,.35);}
.mmos-cc-active{border-left:4px solid #ff5f1f;cursor:pointer;}
.mmos-cc-fav{display:flex;align-items:center;gap:12px;}
.mmos-cc-card .cc-row,.mmos-cc-active .cc-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;}
.cc-row b{font-size:15px;font-weight:900;color:var(--mmos-ink);}
.cc-badge{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;font-style:normal;white-space:nowrap;}
.cc-badge.on{color:#ff5f1f;background:#fff0e9;}
.cc-stars{color:#ffb020;font-size:13px;font-weight:800;font-style:normal;}
.cc-sub{font-size:13.5px;font-weight:700;color:var(--mmos-muted);}
.cc-mut{font-size:12.5px;font-weight:700;color:#9aa3b2;margin-bottom:8px;}
.cc-text{font-size:14px;font-weight:600;color:#2b3340;line-height:1.5;}
.cc-strong{font-size:13.5px;font-weight:800;color:var(--mmos-ink);margin-top:8px;}
.cc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.cc-link{font-size:13px;font-weight:800;color:#ff5f1f;}
.cc-cancel-order{background:#fdeceb;color:#e53e3e;font-weight:800;font-size:13px;padding:8px 14px;border-radius:12px;border:none;cursor:pointer;font-family:'Nunito',sans-serif;}
.cc-cancel-order:active{transform:scale(.96);}
.cc-av{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:18px;flex-shrink:0;}
.cc-nm{font-size:15.5px;font-weight:900;color:var(--mmos-ink);}
.cc-call{background:#ff5f1f;color:#fff;font-weight:800;font-size:13px;padding:9px 14px;border-radius:13px;border:none;font-family:'Nunito',sans-serif;cursor:pointer;}
.mmos-cc-hero{background:#fff;border-radius:22px;padding:20px;text-align:center;border:1px solid #eef1f5;box-shadow:0 14px 34px -22px rgba(20,26,36,.4);}
.cc-avatar{width:80px;height:80px;border-radius:26px;background:linear-gradient(135deg,#ff8a4c,#ff5f1f);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:30px;}
.cc-pname{font-size:20px;font-weight:900;color:var(--mmos-ink);}
.cc-phone{font-size:14px;font-weight:700;color:var(--mmos-muted);}
.mmos-cc-menu{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #eef1f5;box-shadow:0 12px 30px -22px rgba(20,26,36,.35);}
.cc-mi{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid #f2f4f7;cursor:pointer;}
.cc-mi:last-child{border-bottom:none;}
.cc-mi span{flex:1;font-size:15px;font-weight:800;color:var(--mmos-ink);}
.cc-become{background:#141a24;color:#fff;text-align:center;font-weight:900;font-size:15px;padding:16px;border-radius:18px;border:none;font-family:'Nunito',sans-serif;cursor:pointer;}
.mmos-cc-notif{background:#fff;border-radius:20px;border:1px solid #eef1f5;box-shadow:0 12px 30px -22px rgba(20,26,36,.35);padding:16px 18px;margin:14px 0;}
.ccn-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ccn-t{font-size:15px;font-weight:900;color:var(--mmos-ink);}
.ccn-s{font-size:12.5px;font-weight:700;color:var(--mmos-muted);margin-top:2px;}
.ccn-toggle{width:52px;height:30px;border-radius:16px;background:#e2e6ec;border:none;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s;padding:0;}
.ccn-toggle.on{background:#ff5f1f;}
.ccn-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:left .2s;}
.ccn-toggle.on .ccn-knob{left:25px;}
.ccn-enable{width:100%;margin-top:12px;background:#fff5f0;color:#ff5f1f;border:1.5px solid #ffd2c7;border-radius:14px;padding:12px;font-weight:900;font-size:14px;font-family:'Nunito',sans-serif;cursor:pointer;}
.cc-imaster{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #e2e8f5;color:#141a24;font-weight:900;font-size:15px;padding:15px;border-radius:16px;cursor:pointer;font-family:'Nunito',sans-serif;}
.cc-imaster:active{transform:scale(.98);}
.mmos-cc-tabs{background:#fff;border-top:1px solid #eef1f5;padding:10px 6px calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;justify-content:space-around;box-shadow:0 -10px 30px -20px rgba(20,26,36,.4);}
.cc-tab{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9aa3b2;background:none;border:none;font-family:'Nunito',sans-serif;cursor:pointer;}
.cc-tab.on{color:#ff5f1f;}
.cc-tab span{font-size:11px;font-weight:800;}

/* ---------- MASTER CABINET ---------- */
#mmos-master{z-index:99993;background:#f2f4f7;}
.mmos-master-head{background:linear-gradient(135deg,#1b2233,#141a24);padding:calc(env(safe-area-inset-top,0px) + 16px) 18px 14px;}
.mc-brand{display:flex;align-items:center;gap:7px;margin-bottom:12px;opacity:.9;}
.mc-brand span{font-weight:900;font-size:13px;letter-spacing:.03em;color:#fff;}
.mc-brand i{color:#6ea0ff;font-style:normal;}
.mc-hrow{display:flex;align-items:center;gap:12px;}
.mc-back{background:none;border:none;cursor:pointer;padding:0;display:flex;}
.mc-av{position:relative;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:20px;flex-shrink:0;}
.mc-avdot{position:absolute;bottom:-3px;right:-3px;width:20px;height:20px;background:#00b894;border:3px solid #141a24;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.mc-name{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:900;color:#fff;}
.mc-role{font-size:13px;font-weight:700;color:#9aa8c2;}
.mc-toggle{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:'Nunito',sans-serif;}
.mc-toggle span{font-size:10.5px;font-weight:800;color:#00b894;}
.mc-switch{width:48px;height:27px;border-radius:999px;background:#4a5468;padding:3px;display:flex;justify-content:flex-start;transition:background .2s;}
.mc-switch > div{width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .2s;}
.mc-switch.on{background:#00b894;}
.mc-switch.on > div{transform:translateX(21px);}
.mmos-master-tabs{background:#fff;padding:12px 14px;display:flex;gap:8px;border-bottom:1px solid #eef1f5;overflow-x:auto;flex-shrink:0;}
.mmos-master-tabs::-webkit-scrollbar{display:none;}
.mc-tab{white-space:nowrap;padding:8px 14px;border-radius:12px;font-size:13.5px;font-weight:800;background:#f2f4f7;color:#5a6473;border:none;cursor:pointer;font-family:'Nunito',sans-serif;}
.mc-tab.on{background:#ff5f1f;color:#fff;}
.mc-title{font-size:16px;font-weight:900;color:var(--mmos-ink);}
.mc-price{font-size:17px;font-weight:900;color:#ff5f1f;white-space:nowrap;}
.mc-actions{display:flex;gap:10px;}
.mc-accept{flex:1;background:#ff5f1f;color:#fff;font-weight:900;font-size:14px;padding:12px;border-radius:14px;border:none;cursor:pointer;font-family:'Nunito',sans-serif;box-shadow:0 10px 22px -10px #ff5f1f;}
.mc-decline{width:52px;background:#f2f4f7;color:#8a93a2;font-weight:900;font-size:16px;padding:12px;border-radius:14px;border:none;cursor:pointer;}
.mc-cancel{flex:1;background:#fdeceb;color:#e53e3e;font-weight:900;font-size:14px;padding:12px;border-radius:14px;border:none;cursor:pointer;font-family:'Nunito',sans-serif;}
.mc-logout{width:100%;margin-top:10px;background:#fff;border:1px solid #f3c9c6;color:#e53e3e;font-weight:900;font-size:15px;padding:15px;border-radius:16px;cursor:pointer;font-family:'Nunito',sans-serif;}
.mc-logout:active{transform:scale(.98);}
.mmed-lbl{display:block;font-size:12.5px;font-weight:800;color:#8a93a2;margin:12px 0 6px;}
.mmed-lbl:first-child{margin-top:0;}
.mmed-inp{width:100%;border:1px solid #e2e8f5;border-radius:14px;background:#fff;padding:12px 14px;font-size:15px;font-weight:700;color:#141a24;font-family:'Nunito',sans-serif;}
.mmed-inp:focus{outline:none;border-color:#ff5f1f;box-shadow:0 0 0 3px rgba(255,95,31,.12);}
.mc-stats{display:flex;gap:10px;}
.mc-stat{flex:1;background:#fff;border-radius:18px;padding:14px;border:1px solid #eef1f5;box-shadow:0 12px 30px -22px rgba(20,26,36,.35);}
.mc-big{font-size:22px;font-weight:900;color:var(--mmos-ink);}
.mc-check{width:44px;height:44px;border-radius:13px;background:#eafaf0;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mc-rating{background:#fff;border-radius:20px;padding:18px;text-align:center;border:1px solid #eef1f5;box-shadow:0 12px 30px -22px rgba(20,26,36,.35);}
.mc-rating-num{font-size:44px;font-weight:900;color:var(--mmos-ink);line-height:1;}
.mc-verified{background:#eafaf0;border:1px solid #c4eed3;border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;}
.mc-vtitle{font-size:15px;font-weight:900;color:#166534;}
.mc-vsub{font-size:12.5px;font-weight:700;color:#3f8f5e;}
.mc-cap{font-size:13px;font-weight:800;color:#8a93a2;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.mc-cap ~ .mc-cap,.mc-chips + .mc-cap{margin-top:16px;}
.mc-chips{display:flex;flex-wrap:wrap;gap:8px;}
.mc-chip{padding:8px 13px;border-radius:11px;font-weight:800;font-size:13px;}
.mc-nicon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mc-switch.small{width:44px;height:25px;}

/* ============================================================
   OS RESKIN of the existing app surfaces (colors/rounding only,
   no layout or markup changes). Beats inline + existing !important.
   ============================================================ */
body{font-family:'Nunito',system-ui,sans-serif !important;}
.logo,.modal-title,.card-name,.profile-name,.stat-val,.onboard-card-title{font-family:'Nunito',sans-serif !important;}
.btn,.dtab,input,select,textarea,.bs-menu-item{font-family:'Nunito',sans-serif !important;}

/* buttons */
.btn{border-radius:14px !important;font-weight:800 !important;letter-spacing:0 !important;}
.btn-primary{background:linear-gradient(135deg,#ff5f1f,#e04010) !important;box-shadow:0 10px 22px -8px rgba(255,95,31,.5) !important;}
.btn-secondary{background:#fff !important;border:1px solid #e2e8f5 !important;color:#141a24 !important;}
.btn-sm{border-radius:11px !important;}

/* inputs */
input,select,textarea{border-radius:14px !important;border:1px solid #e2e8f5 !important;background:#fff !important;color:#141a24 !important;}
input:focus,select:focus,textarea:focus{border-color:#ff5f1f !important;box-shadow:0 0 0 3px rgba(255,95,31,.12) !important;}

/* cards */
.card{border-radius:18px !important;border:1px solid #eef1f5 !important;box-shadow:0 12px 30px -22px rgba(20,26,36,.35) !important;}
.card.clickable:hover{border-color:#ff5f1f !important;box-shadow:0 14px 30px -18px rgba(255,95,31,.25) !important;}

/* modals — OS glass */
.modal{border-radius:26px !important;box-shadow:0 40px 90px -30px rgba(20,26,36,.5) !important;}
.modal-title{font-weight:900 !important;color:#141a24 !important;}
.modal-close{border-radius:50% !important;background:#f0f2f6 !important;color:#9aa3b2 !important;}

/* user pills + top header */
.user-pill{border-radius:14px !important;background:#fff !important;border:1px solid #e2e8f5 !important;}
.user-pill .dot{background:#00b894 !important;}

/* map search bar — pill + orange */
#map-search-bar > div > div{border-radius:16px !important;box-shadow:0 8px 22px -10px rgba(20,26,36,.25) !important;}
#map-search-bar > button{border-radius:14px !important;box-shadow:0 8px 22px -10px rgba(20,26,36,.25) !important;}

/* bottom sheet — rounded glass */
.bottom-sheet{border-radius:28px 28px 0 0 !important;}
@media (min-width:901px){.bottom-sheet{border-radius:24px !important;}}

/* ---- MASTER CABINET: de-goldify → light OS ---- */
.master-drawer{background:#f2f4f7 !important;color:#141a24 !important;}
#master-nav-header{background:linear-gradient(135deg,#1b2233,#141a24) !important;border-bottom:none !important;box-shadow:0 8px 22px -14px rgba(20,26,36,.5) !important;}
#master-nav-title{color:#fff !important;font-family:'Nunito',sans-serif !important;font-weight:900 !important;}
#master-nav-back{color:#ff8a4c !important;}
.master-drawer .drawer-close,#master-nav-header .drawer-close{background:rgba(255,255,255,.14) !important;border:1px solid rgba(255,255,255,.22) !important;color:#fff !important;}
.master-drawer .drawer-header{background:linear-gradient(135deg,#1b2233,#141a24) !important;border-bottom:none !important;}
.master-drawer .drawer-title{background:none !important;-webkit-text-fill-color:#fff !important;color:#fff !important;}
.master-drawer .drawer-tabs{background:#fff !important;border-bottom:1px solid #eef1f5 !important;}
.master-drawer .dtab{color:#5a6473 !important;}
.master-drawer .dtab.active{color:#ff5f1f !important;border-bottom-color:#ff5f1f !important;background:rgba(255,95,31,.06) !important;}
.master-drawer .drawer-body,.master-screen{background:#f2f4f7 !important;}
.profile-hero{background:linear-gradient(145deg,#1b2233,#141a24) !important;border:1px solid rgba(255,255,255,.08) !important;border-radius:18px !important;}
.master-drawer .card{background:#fff !important;border:1px solid #eef1f5 !important;color:#141a24 !important;}
.master-drawer .btn-primary{background:linear-gradient(135deg,#ff5f1f,#e04010) !important;color:#fff !important;box-shadow:0 10px 22px -8px rgba(255,95,31,.5) !important;}
.master-drawer .btn-ghost{background:#fff !important;border:1px solid #e2e8f5 !important;color:#5a6473 !important;}
.master-drawer .btn-success{background:rgba(0,184,148,.14) !important;color:#0a9d80 !important;border:1px solid rgba(0,184,148,.3) !important;}
.master-drawer .btn-danger{background:#fdeceb !important;color:#e53e3e !important;border:1px solid rgba(229,62,62,.25) !important;}
.master-drawer input,.master-drawer select,.master-drawer textarea{background:#fff !important;border:1px solid #e2e8f5 !important;color:#141a24 !important;}
.master-drawer select option{background:#fff !important;color:#141a24 !important;}
.master-menu-item{background:#fff !important;border:1px solid #eef1f5 !important;border-radius:16px !important;}
.master-menu-item .mmi-label{color:#141a24 !important;}
.status-btn{border-radius:12px !important;}

/* ---- TOP HEADER + MASTER MAP CARD ---- */
.header{background:rgba(255,255,255,.9) !important;backdrop-filter:blur(18px) !important;-webkit-backdrop-filter:blur(18px) !important;border-bottom:1px solid #eef1f5 !important;box-shadow:0 8px 24px -18px rgba(20,26,36,.35) !important;font-family:'Nunito',sans-serif !important;}
.header button{border-radius:12px !important;}
#client-pill,#master-pill{border-radius:14px !important;}
.notif-badge{background:#ff5f1f !important;}
/* master card sliding from top → navy OS look */
#master-top-card > div:first-child{background:linear-gradient(135deg,#1b2233,#141a24) !important;}
#master-top-card a{border-radius:14px !important;}
#mtc-name{font-family:'Nunito',sans-serif !important;}
#mtc-map-eta-min{color:#ff5f1f !important;font-family:'Nunito',sans-serif !important;}
#master-top-card #mtc-map-eta{border-radius:0 0 18px 18px !important;}
/* map overlay control buttons */
#map-client-controls button{border-radius:14px !important;}

/* ---- BOTTOM-SHEET CATEGORY TILES (.ai-cat-btn) → OS squircles ---- */
.ai-cat-btn{border-radius:18px !important;background:transparent !important;box-shadow:none !important;border:none !important;}
.ai-cat-btn > div{border-radius:18px !important;background:transparent !important;box-shadow:none !important;border:none !important;}
.ai-cat-btn span{color:#141a24 !important;font-family:'Nunito',sans-serif !important;font-weight:800 !important;}
/* page 1 — colorful OS palette */
/* page 2 */
#cat-dot-0{background:#ff5f1f !important;}
/* radius / address chips → neutral OS */
#ai-radius-slider{accent-color:#ff5f1f !important;}
#ai-radius-val{color:#ff5f1f !important;}

/* ===== Полноэкранный профиль мастера ===== */
.mmos-mprofile{background:#f2f4f7 !important;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);z-index:99993 !important;}
.mmos-mprofile.open{transform:none;}
.mmos-mprofile .mp-head{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 12px;background:#fff;box-shadow:0 4px 18px -12px rgba(20,26,36,.4);flex-shrink:0;}
.mmos-mprofile .mp-head-title{font-size:17px;font-weight:900;color:#141a24;}
.mmos-mprofile .mp-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.mmos-mprofile .mp-hero{background:#fff;padding:22px 20px 24px;text-align:center;}
.mmos-mprofile .mp-av{width:96px;height:96px;border-radius:50%;margin:0 auto 14px;background:linear-gradient(135deg,#ff8a4c,#ff5f1f);display:flex;align-items:center;justify-content:center;color:#fff;font-size:40px;font-weight:900;overflow:hidden;box-shadow:0 14px 30px -12px rgba(255,95,31,.6);}
.mmos-mprofile .mp-av img{width:100%;height:100%;object-fit:cover;}
.mmos-mprofile .mp-name{font-size:24px;font-weight:900;color:#141a24;}
.mmos-mprofile .mp-spec{font-size:15px;font-weight:700;color:#8a93a2;margin-top:2px;}
.mmos-mprofile .mp-badges{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px;}
.mmos-mprofile .mp-badge{font-size:11px;font-weight:900;padding:4px 10px;border-radius:20px;}
.mmos-mprofile .mp-badge.top{background:#fff2ec;color:#ff5f1f;}
.mmos-mprofile .mp-badge.pro{background:#141a24;color:#fff;}
.mmos-mprofile .mp-badge.ok{background:#e6f7f0;color:#00996b;}
.mmos-mprofile .mp-stats{display:flex;justify-content:center;gap:0;margin-top:18px;}
.mmos-mprofile .mp-stat{flex:1;max-width:110px;border-right:1px solid #eef1f5;}
.mmos-mprofile .mp-stat:last-child{border-right:none;}
.mmos-mprofile .mp-stat-v{font-size:20px;font-weight:900;color:#141a24;}
.mmos-mprofile .mp-stat-l{font-size:12px;font-weight:700;color:#9aa3b2;margin-top:2px;}
.mmos-mprofile .mp-row{display:flex;align-items:center;gap:9px;padding:14px 20px;background:#fff;margin-top:10px;font-size:14.5px;font-weight:700;color:#3a424f;}
.mmos-mprofile .mp-sec{font-size:13px;font-weight:900;color:#9aa3b2;text-transform:uppercase;letter-spacing:.5px;padding:20px 20px 8px;}
.mmos-mprofile .mp-about{background:#fff;padding:16px 20px;font-size:15px;font-weight:600;line-height:1.5;color:#3a424f;}
.mmos-mprofile .mp-svcs{background:#fff;}
.mmos-mprofile .mp-svc{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #f2f4f7;font-size:15px;font-weight:700;color:#141a24;}
.mmos-mprofile .mp-svc:last-child{border-bottom:none;}
.mmos-mprofile .mp-svc-p{font-weight:900;color:#ff5f1f;}
.mmos-mprofile .mp-rvs{background:#fff;}
.mmos-mprofile .mp-rv{padding:14px 20px;border-bottom:1px solid #f2f4f7;}
.mmos-mprofile .mp-rv:last-child{border-bottom:none;}
.mmos-mprofile .mp-rv-top{display:flex;justify-content:space-between;align-items:center;}
.mmos-mprofile .mp-rv-name{font-size:14.5px;font-weight:800;color:#141a24;}
.mmos-mprofile .mp-rv-stars{font-size:14px;color:#ffb400;letter-spacing:1px;}
.mmos-mprofile .mp-rv-text{font-size:14px;font-weight:600;color:#5a6473;margin-top:5px;line-height:1.45;}
.mmos-mprofile .mp-empty{padding:20px;text-align:center;color:#9aa3b2;font-weight:700;font-size:14px;}
.mmos-mprofile .mp-spring{height:20px;}
.mmos-mprofile .mp-cta{display:flex;gap:10px;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 14px);background:#fff;box-shadow:0 -6px 22px -14px rgba(20,26,36,.4);flex-shrink:0;}
.mmos-mprofile .mp-cta-map{width:54px;flex-shrink:0;border-radius:16px;border:1.5px solid #eef1f5;background:#fff;color:#ff5f1f;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.mmos-mprofile .mp-cta-map:active{transform:scale(.96);}
.mmos-mprofile .mp-cta-call{flex:1;background:#ff5f1f;color:#fff;border:none;border-radius:16px;padding:16px;font-size:16px;font-weight:900;font-family:'Nunito',sans-serif;cursor:pointer;box-shadow:0 12px 26px -12px rgba(255,95,31,.6);}
.mmos-mprofile .mp-cta-call:active{transform:scale(.98);}
@media (min-width:820px){
  .mmos-mprofile{left:50% !important;right:auto !important;transform:translateX(-50%) translateX(430px);width:430px !important;top:24px !important;bottom:24px !important;height:auto !important;border-radius:34px !important;overflow:hidden !important;box-shadow:0 40px 100px -30px rgba(0,0,0,.75),0 0 0 10px #05070d,0 0 0 12px #1c2740 !important;}
  .mmos-mprofile.open{transform:translateX(-50%) !important;}
}

/* Расстояние под иконкой «показать на карте» в списке мастеров */
.mmos-pres-mapwrap{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;}
.mmos-pres-km{font-size:10.5px;font-weight:800;color:#8a93a2;white-space:nowrap;line-height:1;}

/* Новые иконки категорий (PNG) — без подложки, вписаны в плитку */
.mmos-cat .ic img,.ai-cat-btn img,.mmos-mapcat .ic img{background:transparent !important;border-radius:14px;}
.mmos-cat .ic{width:88px;height:88px;}
.ai-cat-btn > div{min-width:72px;min-height:72px;}
.ai-cat-btn > div{display:flex !important;align-items:center !important;justify-content:center !important;}

/* Блок адреса на главной отключён */
.mmos-myaddr{display:none !important;}

/* Окно запроса геолокации не должно перехватывать нажатия, когда скрыто */
#mmos-geo{pointer-events:none;}
#mmos-geo.open{pointer-events:auto;}

/* Свёрнутая шторка мастера: видна только ручка, тап возвращает её */
#mmos-mcard.peeked{cursor:pointer;box-shadow:0 -10px 30px -18px rgba(20,26,36,.45);}
#mmos-mcard.peeked > *:not(.mmc-handle){opacity:.35;}
#mmos-mcard.peeked .mmc-handle{background:#ff5f1f;height:6px;width:52px;}


/* ===== Кабинет мастера: разделы как приложения OS ===== */
.mmos-sec-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #eef1f5;}
.mmos-sec-bar span{font-size:17px;font-weight:900;color:var(--mmos-ink);}
.mmos-sec-back{width:38px;height:38px;flex-shrink:0;border:none;border-radius:12px;background:#f2f4f7;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.mmos-sec-back:active{transform:scale(.94);}

/* ---- Кабинет мастера: профиль + список разделов ---- */
.mprof{display:flex;flex-direction:column;align-items:center;gap:5px;padding:22px 16px 16px;}
.mprof-av{width:82px;height:82px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#3aa0ff,#2b7fe0);display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;font-weight:900;box-shadow:0 14px 30px -18px rgba(20,26,36,.7);}
.mprof-av img{width:100%;height:100%;object-fit:cover;}
.mprof-nm{display:flex;align-items:center;gap:7px;font-size:21px;font-weight:900;color:var(--mmos-ink);}
.mprof-pro{background:#ff5f1f;color:#fff;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:900;letter-spacing:.5px;}
.mprof-sub{font-size:13.5px;font-weight:700;color:var(--mmos-muted);}
.mq-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px 12px 18px;}
.mq-it{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:none;padding:0;cursor:pointer;font-family:'Nunito',sans-serif;}
.mq-it:active{transform:scale(.94);}
.mq-ic{position:relative;width:52px;height:52px;border-radius:50%;background:#f2f4f7;display:flex;align-items:center;justify-content:center;}
.mq-badge{position:absolute;top:-2px;right:-2px;min-width:19px;height:19px;padding:0 5px;box-sizing:border-box;border-radius:10px;background:#ff5f1f;color:#fff;font-size:10.5px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.mq-nm{font-size:11.5px;font-weight:800;color:var(--mmos-ink);}
.mrow-group{display:flex;flex-direction:column;background:#fff;border-radius:18px;margin:0 12px 20px;overflow:hidden;box-shadow:0 10px 28px -22px rgba(20,26,36,.5);}
.mrow{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:14px 14px;background:#fff;border:none;border-bottom:1px solid #f2f4f7;cursor:pointer;font-family:'Nunito',sans-serif;text-align:left;}
.mrow:last-child{border-bottom:none;}
.mrow:active{background:#f7f8fa;}
.mrow-ic{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#f7f8fa;display:flex;align-items:center;justify-content:center;}
.mrow.accent .mrow-ic{background:#fff2ec;}
.mrow-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.mrow-nm{font-size:15px;font-weight:900;color:var(--mmos-ink);}
.mrow.accent .mrow-nm{color:#ff5f1f;}
.mrow-sub{font-size:12.5px;font-weight:700;color:var(--mmos-muted);}
.mrow-badge{min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;background:#ff5f1f;color:#fff;font-size:11.5px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mrow-ch{flex-shrink:0;}

/* ---- Кабинет мастера: верхняя панель ---- */
.mmos-mtop{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 10px;background:#fff;border-bottom:1px solid #eef1f5;}
.mmos-mtop-ttl{flex:1;min-width:0;font-size:17px;font-weight:900;color:var(--mmos-ink);}
.mmos-mtop .mc-toggle{display:flex;align-items:center;gap:7px;background:none;border:none;padding:0;cursor:pointer;font-family:'Nunito',sans-serif;flex-shrink:0;}
.mmos-mtop .mc-toggle #mmos-master-online{font-size:12px;font-weight:800;color:var(--mmos-muted);}
.mmos-mtop .mc-switch{width:46px;height:27px;border-radius:14px;background:#e2e6ec;position:relative;display:block;transition:background .2s;}
.mmos-mtop .mc-switch.on{background:#00b894;}
.mmos-mtop .mc-switch > span{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:left .2s;}
.mmos-mtop .mc-switch.on > span{left:22px;}
/* Рейтинг и счётчики под фото */
.mprof-stats{display:flex;align-items:center;gap:8px;margin-top:6px;}
.mprof-st{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:800;color:var(--mmos-ink);}
.mprof-dot{width:4px;height:4px;border-radius:50%;background:#c3cad4;}
/* Список разделов — на всю ширину экрана */
.mrow-group{margin:0 0 20px;border-radius:0;box-shadow:none;border-top:1px solid #eef1f5;}
.mrow{padding:15px 16px;}
.mq-row{grid-template-columns:repeat(1,1fr);justify-items:center;}

/* ---- Кабинет мастера: компактнее сверху, крупный шрифт, прокрутка, плавный переход ---- */
#mmos-master{background:#fff !important;}
#mmos-master .mmos-cc-body{background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);}
#mmos-master{display:flex;flex-direction:column;}
.mfade{animation:mFadeIn .26s cubic-bezier(.22,1,.36,1);}
@keyframes mFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* профиль — компактнее, список выше */
.mprof{padding:14px 16px 10px;gap:4px;}
.mprof-av{width:74px;height:74px;font-size:27px;}
.mprof-nm{font-size:22px;}
.mprof-sub{font-size:14px;}
.mprof-stats{margin-top:4px;}
.mprof-st{font-size:13.5px;}
/* список: белый фон экрана, строки чуть серые, крупный шрифт */
.mrow-group{margin:4px 0 0;border-top:none;gap:8px;background:transparent;display:flex;flex-direction:column;padding:0 12px;}
.mrow{background:#f4f6f9;border:1px solid #eef1f5;border-bottom:1px solid #eef1f5;border-radius:16px;padding:16px 16px;gap:14px;}
.mrow:active{background:#e9edf3;}
.mrow-ic{width:42px;height:42px;border-radius:13px;background:#fff;}
.mrow.accent .mrow-ic{background:#fff2ec;}
.mrow-nm{font-size:17px;}
.mrow-sub{font-size:13.5px;}
.mrow-badge{min-width:26px;height:26px;font-size:13px;border-radius:13px;}

/* ---- Кабинет мастера: прокрутка пальцем ---- */
#mmos-master{overflow:hidden;touch-action:pan-y;}
#mmos-master .mmos-cc-body{overflow-y:auto !important;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1 1 auto;min-height:0;}
#mmos-master .mmos-mtop{flex:0 0 auto;}

/* Прокрутка главной кабинета: в flex-колонке дети сжимались и прокрутка не появлялась */
#mmos-master .mmos-cc-body > *{flex:0 0 auto;}
#mmos-master .mprof,#mmos-master .mrow-group{flex-shrink:0;}
#mmos-master .mrow-group{padding-bottom:24px;}

/* Переключатели в настройках — под белую тему */
#mmos-master .mc-switch{background:#dfe4ea;}
#mmos-master .mc-switch.on{background:#00b894;}
#mmos-master .mc-switch > div{box-shadow:0 2px 6px rgba(0,0,0,.18);}
#mmos-master .mmos-cc-menu{background:#fff;border:1px solid #eef1f5;border-radius:18px;overflow:hidden;}
#mmos-master .cc-mi{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid #f2f4f7;cursor:pointer;}
#mmos-master .cc-mi:last-child{border-bottom:none;}
#mmos-master .cc-mi span{flex:1;min-width:0;font-size:15.5px;font-weight:800;color:var(--mmos-ink);}
#mmos-master .cc-mi:active{background:#f7f8fa;}

/* ---- Тёмная тема кабинета мастера ---- */
body.mm-dark #mmos-master{background:#141a24 !important;}
body.mm-dark #mmos-master .mmos-cc-body{background:#141a24;}
body.mm-dark #mmos-master .mmos-mtop{background:#1b2233;border-bottom-color:#26304a;}
body.mm-dark #mmos-master .mmos-mtop-ttl{color:#eef2f8;}
body.mm-dark #mmos-master .mmos-sec-back{background:#26304a;}
body.mm-dark #mmos-master .mmos-sec-back svg{stroke:#eef2f8;}
body.mm-dark #mmos-master .mprof-nm{color:#eef2f8;}
body.mm-dark #mmos-master .mprof-sub,body.mm-dark #mmos-master .mprof-st{color:#9aa8c2;}
body.mm-dark #mmos-master .mprof-st svg{fill:#ffb400;}
body.mm-dark #mmos-master .mrow{background:#1e2636;border-color:#26304a;}
body.mm-dark #mmos-master .mrow:active{background:#26304a;}
body.mm-dark #mmos-master .mrow-ic{background:#26304a;}
body.mm-dark #mmos-master .mrow.accent .mrow-ic{background:#3a2418;}
body.mm-dark #mmos-master .mrow-nm{color:#eef2f8;}
body.mm-dark #mmos-master .mrow-sub{color:#9aa8c2;}
body.mm-dark #mmos-master .mmos-cc-menu{background:#1e2636;border-color:#26304a;}
body.mm-dark #mmos-master .cc-mi{border-bottom-color:#26304a;}
body.mm-dark #mmos-master .cc-mi span{color:#eef2f8;}
body.mm-dark #mmos-master .cc-mi:active{background:#26304a;}
body.mm-dark #mmos-master .mc-switch{background:#3a4459;}
body.mm-dark #mmos-master .mmos-cc-card,body.mm-dark #mmos-master .mmos-cc-fav,body.mm-dark #mmos-master .mmos-cc-active{background:#1e2636;border-color:#26304a;color:#eef2f8;}
body.mm-dark #mmos-master .mc-title,body.mm-dark #mmos-master b{color:#eef2f8;}
body.mm-dark #mmos-master .cc-sub,body.mm-dark #mmos-master .cc-text,body.mm-dark #mmos-master .cc-mut{color:#9aa8c2;}

/* В тёмной теме включённый ползунок — зелёный */
body.mm-dark #mmos-master .mc-switch.on{background:#00b894 !important;}
body.mm-dark #mmos-master .mmos-mtop .mc-switch.on{background:#00b894 !important;}

/* ---- Карта в режиме мастера: без клиентского поиска и шапки ---- */
body.mm-master-map #map-search-bar,
body.mm-master-map #map-search-suggest,
body.mm-master-map #map-hint,
body.mm-master-map #map-place-hint,
body.mm-master-map #client-pill,
body.mm-master-map #map-client-controls,
body.mm-master-map #mmos-spechint,
body.mm-master-map #mmos-hbar,
body.mm-master-map #ai-top-static,
body.mm-master-map #master-top-card,
body.mm-master-map .header,
body.mm-master-map #master-nav-header{display:none !important;}
/* Кнопка возврата в кабинет мастера */
#mmos-mback{position:fixed;left:14px;top:calc(env(safe-area-inset-top,0px) + 14px);z-index:9997;width:44px;height:44px;border:none;border-radius:14px;background:#fff;box-shadow:0 10px 26px -14px rgba(20,26,36,.6);display:none;align-items:center;justify-content:center;cursor:pointer;}
body.mm-master-map #mmos-mback{display:flex;}
#mmos-mback:active{transform:scale(.94);}
@media (min-width:820px){ #mmos-mback{left:calc(50% - 215px + 14px);top:38px;} }

/* Шапка приложения скрыта в режиме карты мастера */
body.mm-master-map .header{display:none !important;}
body.mm-master-map #map{top:0 !important;}

/* Строка статуса с кнопкой «На карте» */
#mmos-mcard .mmc-subrow{display:flex;align-items:center;gap:10px;justify-content:space-between;}
#mmos-mcard .mmc-subrow .mmc-status-sub{flex:1;min-width:0;}
#mmos-mcard .mmc-showbtn{flex-shrink:0;display:flex;align-items:center;gap:6px;background:#fff2ec;color:#ff5f1f;border:1.5px solid #ffd2c7;border-radius:11px;padding:7px 11px;font:900 12.5px 'Nunito',sans-serif;cursor:pointer;}
#mmos-mcard .mmc-showbtn:active{transform:scale(.96);}
body.mm-dark #mmos-mcard .mmc-showbtn{background:#2a1c14;border-color:#54341f;}

/* Кнопки действий у активной заявки клиента */
.cc-oact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cc-showmaster{display:flex;align-items:center;gap:6px;background:#fff2ec;color:#ff5f1f;border:1.5px solid #ffd2c7;border-radius:11px;padding:7px 11px;font:900 12.5px 'Nunito',sans-serif;cursor:pointer;}
.cc-showmaster:active{transform:scale(.96);}
body.mm-dark .cc-showmaster{background:#2a1c14;border-color:#54341f;}

/* История заявок мастера: фильтр периода и данные клиента */
.mc-hfilters{display:flex;gap:7px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none;}
.mc-hfilters::-webkit-scrollbar{display:none;}
.mc-hfilter{flex-shrink:0;background:#f2f4f7;color:#5a6473;border:1.5px solid transparent;border-radius:12px;padding:9px 14px;font:900 13.5px 'Nunito',sans-serif;cursor:pointer;}
.mc-hfilter.on{background:#fff2ec;color:#ff5f1f;border-color:#ffd2c7;}
.mc-hclient{display:flex;flex-direction:column;gap:5px;margin:8px 0 4px;}
.mc-hclient .r{display:flex;align-items:center;gap:7px;font:700 13.5px 'Nunito',sans-serif;color:#5a6473;text-decoration:none;}
.mc-hclient .r svg{flex-shrink:0;}
.mc-hclient .lnk{color:#00996b;font-weight:900;}
body.mm-dark .mc-hfilter{background:#1d2532;color:#9aa6b8;}
body.mm-dark .mc-hfilter.on{background:#2a1c14;color:#ff7a3d;border-color:#54341f;}
body.mm-dark .mc-hclient .r{color:#9aa6b8;}

/* Услуги и цены в профиле мастера */
.mp-svc-edit-btn{width:100%;margin-top:12px;background:#fff2ec;color:#ff5f1f;border:1.5px solid #ffd2c7;border-radius:14px;padding:12px;font:900 14px 'Nunito',sans-serif;cursor:pointer;}
.mp-svc-edit{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.mp-svc-nm{flex:1;min-width:0;background:#f7f8fa;border:1.5px solid #eef1f5;border-radius:12px;padding:11px 13px;font:700 14px 'Nunito',sans-serif;color:#141a24;outline:none;}
.mp-svc-pr{width:92px;flex-shrink:0;background:#f7f8fa;border:1.5px solid #eef1f5;border-radius:12px;padding:11px 10px;font:900 14px 'Nunito',sans-serif;color:#141a24;outline:none;text-align:right;}
.mp-svc-nm:focus,.mp-svc-pr:focus{border-color:#ff5f1f;background:#fff;}
.mp-svc-del{width:34px;height:34px;flex-shrink:0;border:none;border-radius:11px;background:#fdecec;color:#e0555a;font:900 20px 'Nunito',sans-serif;line-height:1;cursor:pointer;}
.mp-svc-add{width:100%;margin-top:4px;background:#f2f4f7;color:#5a6473;border:1.5px dashed #d8dee7;border-radius:12px;padding:11px;font:900 13.5px 'Nunito',sans-serif;cursor:pointer;}
body.mm-dark .mp-svc-nm,body.mm-dark .mp-svc-pr{background:#1d2532;border-color:#2a3546;color:#e8edf5;}
body.mm-dark .mp-svc-add{background:#1d2532;color:#9aa6b8;border-color:#2a3546;}
body.mm-dark .mp-svc-edit-btn{background:#2a1c14;border-color:#54341f;}

/* Свёрнутая шторка не перекрывает экран (на ПК блокировала кнопку «Назад») */
#mmos-mcard.peeked{pointer-events:auto;}
@media (min-width:820px){
  #mmos-mcard{z-index:9998;}
  #mmos-mback,#mmos-back{z-index:10000 !important;}
  #mmos-mapdock{z-index:10000 !important;}
}

/* Памятка о налогах в профиле мастера */
.mc-taxnote{display:flex;align-items:flex-start;gap:9px;margin:14px 0 4px;padding:12px 14px;background:#f7f8fa;border:1px solid #eef1f5;border-radius:14px;font:700 12.5px 'Nunito',sans-serif;color:#8a93a2;line-height:1.4;}
.mc-taxnote svg{flex-shrink:0;margin-top:1px;}
body.mm-dark .mc-taxnote{background:#1d2532;border-color:#2a3546;color:#9aa6b8;}
