/* ============================================================
   Money Cut — фронтенд приложения (дизайн из архива, 1:1)
   ============================================================ */
:root{
	--mc-primary:#6FCF97;
	--mc-dark:#14121A;
	--mc-green:#2FA36A;
	--mc-green-d:#238453;
	--mc-gray:#8A8A93;
	--mc-muted:#B4B4BD;
	--mc-border:#ECECF1;
	--mc-soft:#F9F8FD;
	--mc-greenbg:#EDF7F0;
	--mc-greenbg2:#E9F6EE;
	--mc-font-heading:'Onest',sans-serif;
	--mc-font-body:'Onest',sans-serif;
}

@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap');

.mc-app *{ box-sizing:border-box; -webkit-font-smoothing:antialiased; }
.mc-app{ font-family:var(--mc-font-body); }
.mc-app ::-webkit-scrollbar{ display:none; }
.mc-app a{ color:var(--mc-green); text-decoration:none; }
.mc-app a:hover{ color:var(--mc-green-d); }
.mc-app input::placeholder,.mc-app textarea::placeholder{ color:var(--mc-muted); }

/* ------- корневой контейнер (полноэкранный на телефоне) ------- */
.mc-app{
	position:relative;
	width:100%;
	max-width:420px;
	margin:0 auto;
	min-height:100vh;
	min-height:100dvh;
	background:#fff;
	color:var(--mc-dark);
	overflow:hidden;
}
.mc-root{ position:relative; width:100%; min-height:100vh; min-height:100dvh; }

.mc-boot{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.mc-boot__spinner{
	width:36px;height:36px;border-radius:50%;
	border:3px solid var(--mc-border); border-top-color:var(--mc-primary);
	animation:mc-spin .8s linear infinite;
}
@keyframes mc-spin{ to{ transform:rotate(360deg); } }

/* ------- экран ------- */
.mc-screen{
	position:relative;
	min-height:100vh; min-height:100dvh;
	padding:calc(env(safe-area-inset-top) + 20px) 26px 40px;
	overflow-y:auto;
}
.mc-screen--app{ padding-bottom:120px; }
.mc-screen--flush{ padding:0; display:flex; flex-direction:column; }

/* ------- типографика ------- */
.mc-h1{ font-family:var(--mc-font-heading); font-weight:800; font-size:32px; line-height:1.05; color:var(--mc-dark); margin:0 0 12px; letter-spacing:-.5px; }
.mc-h2{ font-family:var(--mc-font-heading); font-weight:800; font-size:26px; color:var(--mc-dark); margin:8px 0 18px; letter-spacing:-.4px; }
.mc-title{ font-family:var(--mc-font-heading); font-weight:800; font-size:22px; color:var(--mc-dark); margin:0; letter-spacing:-.3px; }
.mc-step{ font-weight:600; font-size:13px; color:var(--mc-green); margin:0 0 10px; letter-spacing:.4px; }
.mc-lead{ font-weight:500; font-size:16px; color:var(--mc-gray); margin:0 0 32px; line-height:1.4; }
.mc-label{ display:block; font-weight:600; font-size:14px; color:var(--mc-gray); margin:0 0 8px 4px; }

/* ------- бренд ------- */
.mc-brand{ display:flex; align-items:center; gap:10px; margin-bottom:38px; }
.mc-brand__logo{ width:38px; height:38px; border-radius:12px; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:20px; object-fit:cover; }
.mc-brand__name{ font-family:var(--mc-font-heading); font-weight:800; font-size:19px; color:var(--mc-dark); }

/* ------- поля ------- */
.mc-input{
	width:100%; padding:17px 18px; border:1.5px solid var(--mc-border);
	border-radius:16px; font:500 16px var(--mc-font-body); background:#fff;
	outline:none; color:var(--mc-dark); margin-bottom:18px;
}
.mc-input:focus{ border-color:var(--mc-primary); }
.mc-input--sm{ padding:16px 18px; margin-bottom:16px; }

/* ------- кнопки ------- */
.mc-btn{
	width:100%; padding:18px; border:none; border-radius:18px;
	background:var(--mc-dark); color:#fff; font:700 17px var(--mc-font-body); cursor:pointer;
	display:flex; align-items:center; justify-content:center; gap:10px;
}
.mc-btn:disabled{ background:#E4E3E9; color:var(--mc-muted); cursor:not-allowed; }
.mc-btn--ghost{ background:#fff; border:1.5px solid var(--mc-border); color:var(--mc-dark); font-weight:700; font-size:16px; }
.mc-btn--green{ background:var(--mc-primary); color:var(--mc-dark); }
.mc-btn--plain{ background:none; color:var(--mc-gray); font:600 15px var(--mc-font-body); }
.mc-back{
	width:44px; height:44px; border:1.5px solid var(--mc-border); border-radius:14px;
	background:#fff; display:flex; align-items:center; justify-content:center;
	color:var(--mc-dark); cursor:pointer; margin-bottom:22px;
}

.mc-center{ text-align:center; }
.mc-muted-note{ font-weight:500; font-size:14px; color:var(--mc-gray); }
.mc-alt{ text-align:center; font-weight:500; font-size:14px; color:var(--mc-gray); margin:22px 0 0; }
.mc-strong{ font-weight:700; }

/* ------- согласие ------- */
.mc-agree{ display:flex; align-items:flex-start; gap:12px; width:100%; text-align:left; background:none; border:none; padding:0; margin:0 0 22px; cursor:pointer; }
.mc-agree__box{ width:24px; height:24px; flex:none; border-radius:8px; display:flex; align-items:center; justify-content:center; margin-top:1px; background:#fff; border:1.5px solid #D6D0E6; }
.mc-agree__box.is-on{ background:var(--mc-green); border-color:var(--mc-green); }
.mc-agree__text{ flex:1; font-weight:500; font-size:14px; color:var(--mc-gray); line-height:1.4; }

/* ------- код из 5 цифр ------- */
.mc-code{ display:flex; gap:11px; margin-bottom:26px; }
.mc-code input{
	flex:1; min-width:0; aspect-ratio:1; text-align:center;
	border:1.5px solid var(--mc-border); border-radius:16px;
	font:800 26px var(--mc-font-body); color:var(--mc-dark); background:var(--mc-soft); outline:none;
}
.mc-code input:focus{ border-color:var(--mc-primary); }

/* ------- фото профиля ------- */
.mc-photo-wrap{ display:flex; flex-direction:column; align-items:center; margin-bottom:28px; }
.mc-photo{ width:100px; height:100px; border-radius:50%; border:2px dashed #D6D0E6; background:var(--mc-greenbg); display:flex; align-items:center; justify-content:center; color:#9a94ab; cursor:pointer; overflow:hidden; padding:0; box-sizing:border-box; line-height:0; }
.mc-photo.is-set{ border:none; }
.mc-photo img{ width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
.mc-photo-label{ font-weight:600; font-size:14px; color:var(--mc-gray); margin-top:12px; }

/* ------- сегменты и чипы ------- */
.mc-segs{ display:flex; gap:10px; margin-bottom:16px; }
.mc-seg{ flex:1; padding:14px 0; border:1.5px solid var(--mc-border); border-radius:14px; background:#fff; font:600 15px var(--mc-font-body); cursor:pointer; color:var(--mc-gray); }
.mc-seg.is-on{ border-color:var(--mc-dark); background:var(--mc-dark); color:#fff; }
.mc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.mc-chip{ padding:9px 14px; border:1.5px solid var(--mc-border); border-radius:12px; background:#fff; font:600 14px var(--mc-font-body); cursor:pointer; color:var(--mc-dark); }
.mc-chip.is-on{ border-color:var(--mc-dark); background:var(--mc-dark); color:#fff; }

/* ------- строка с тумблером ------- */
.mc-row{ display:flex; align-items:center; justify-content:space-between; background:var(--mc-soft); border-radius:18px; padding:16px 18px; margin-bottom:26px; }
.mc-row__left{ display:flex; align-items:center; gap:12px; }
.mc-row__icon{ width:40px; height:40px; border-radius:12px; background:#fff; display:flex; align-items:center; justify-content:center; color:var(--mc-green); }
.mc-row__icon img{ width:22px; height:22px; object-fit:contain; }
.mc-row__t{ font-weight:700; font-size:15px; color:var(--mc-dark); }
.mc-row__s{ font-weight:500; font-size:13px; color:var(--mc-gray); }
.mc-toggle{ width:52px; height:30px; flex:none; border:none; border-radius:16px; cursor:pointer; padding:3px; display:flex; justify-content:flex-start; background:#D6D0E6; }
.mc-toggle.is-on{ justify-content:flex-end; background:var(--mc-dark); }
.mc-toggle__knob{ width:24px; height:24px; border-radius:50%; background:#fff; }

/* ------- инструкция установки ------- */
.mc-install{ background:var(--mc-primary); border-radius:26px; padding:24px 22px; margin-bottom:22px; display:flex; flex-direction:column; gap:16px; }
.mc-install__step{ display:flex; align-items:center; gap:14px; }
.mc-install__ico{ width:44px; height:44px; flex:none; border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:center; color:var(--mc-green); }
.mc-install__txt{ font-weight:600; font-size:15px; color:var(--mc-dark); line-height:1.35; }
.mc-install__txt b{ font-weight:800; }
.mc-appicon{ display:flex; justify-content:center; margin-bottom:26px; }
.mc-appicon__box{ width:90px; height:90px; border-radius:24px; background:var(--mc-primary); box-shadow:0 12px 24px rgba(47,163,106,.35); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:44px; overflow:hidden; }
.mc-appicon__box img{ width:100%; height:100%; object-fit:cover; }

/* ------- дашборд ------- */
.mc-topbar{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.mc-avatar{ width:46px; height:46px; border-radius:50%; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:18px; overflow:hidden; }
.mc-avatar img{ width:100%; height:100%; object-fit:cover; }
.mc-hello{ font-family:var(--mc-font-heading); font-weight:800; font-size:18px; color:var(--mc-dark); }
.mc-date{ font-weight:500; font-size:13px; color:var(--mc-gray); }
.mc-bell{ position:relative; width:46px; height:46px; border:1.5px solid var(--mc-border); border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; color:var(--mc-dark); cursor:pointer; }
.mc-bell__dot{ position:absolute; top:9px; right:11px; width:9px; height:9px; border-radius:50%; background:var(--mc-primary); border:2px solid #fff; }

.mc-goal{ background:var(--mc-primary); border-radius:28px; padding:22px; margin-bottom:16px; position:relative; overflow:hidden; }
.mc-goal__k{ font-weight:600; font-size:13px; color:#245c3c; margin-bottom:4px; }
.mc-goal__t{ font-family:var(--mc-font-heading); font-weight:800; font-size:24px; color:var(--mc-dark); margin-bottom:16px; letter-spacing:-.4px; }
.mc-goal__amt{ display:flex; align-items:flex-end; gap:6px; margin-bottom:12px; }
.mc-goal__now{ font-weight:800; font-size:30px; color:var(--mc-dark); }
.mc-goal__tot{ font-weight:600; font-size:15px; color:#245c3c; margin-bottom:4px; }
.mc-bar{ height:12px; background:#ffffff66; border-radius:8px; overflow:hidden; }
.mc-bar__fill{ height:100%; background:var(--mc-dark); border-radius:8px; }
.mc-goal__meta{ display:flex; justify-content:space-between; margin-top:10px; font-weight:600; font-size:13px; color:#245c3c; }
.mc-goal__deco{ position:absolute; top:-14px; right:-10px; width:88px; height:88px; border-radius:24px; background:repeating-linear-gradient(45deg,#ffffff55,#ffffff55 7px,transparent 7px,transparent 14px); }

.mc-cards2{ display:flex; gap:12px; margin-bottom:16px; }
.mc-mini{ flex:1; background:var(--mc-primary); border-radius:24px; padding:18px; }
.mc-mini__k{ font-weight:600; font-size:13px; color:#245c3c; margin-bottom:10px; }
.mc-mini__v{ font-weight:800; font-size:22px; color:var(--mc-dark); }

.mc-advice{ background:var(--mc-dark); border-radius:26px; padding:20px; margin-bottom:22px; }
.mc-advice__head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.mc-advice__badge{ width:34px; height:34px; border-radius:10px; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:15px; overflow:hidden; }
.mc-advice__badge img{ width:100%;height:100%;object-fit:cover; }
.mc-advice__title{ font-weight:700; font-size:15px; color:#fff; }
.mc-advice__text{ font-weight:500; font-size:15px; color:#D8D6E0; line-height:1.5; margin:0 0 16px; }
.mc-advice__text b{ color:var(--mc-primary); font-weight:800; }
.mc-advice__btn{ display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border:none; border-radius:14px; background:var(--mc-primary); color:var(--mc-dark); font:700 14px var(--mc-font-body); cursor:pointer; }

.mc-sec-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.mc-sec-head h2{ font-family:var(--mc-font-heading); font-weight:800; font-size:20px; color:var(--mc-dark); margin:0; }
.mc-cats{ display:flex; flex-direction:column; gap:14px; }
.mc-cat__row{ display:flex; justify-content:space-between; margin-bottom:7px; }
.mc-cat__n{ font-weight:600; font-size:15px; color:var(--mc-dark); }
.mc-cat__v{ font-weight:700; font-size:15px; color:var(--mc-dark); }
.mc-cat__track{ height:9px; background:#F2F1F6; border-radius:6px; overflow:hidden; }
.mc-cat__fill{ height:100%; background:var(--mc-primary); border-radius:6px; }
.mc-empty{ text-align:center; color:var(--mc-gray); font-weight:500; font-size:14px; padding:20px 0; }

/* ------- аналитика ------- */
.mc-analytics-hero{ background:var(--mc-primary); border-radius:26px; padding:22px; margin-bottom:16px; }
.mc-analytics-hero__k{ font-weight:600; font-size:13px; color:#245c3c; margin-bottom:6px; }
.mc-analytics-hero__v{ font-weight:800; font-size:30px; color:var(--mc-dark); margin-bottom:4px; }
.mc-analytics-hero__s{ font-weight:600; font-size:14px; color:#245c3c; }
.mc-panel{ background:#fff; border:1.5px solid #F0EFF4; border-radius:26px; padding:22px; margin-bottom:16px; }
.mc-panel__title{ font-weight:700; font-size:16px; color:var(--mc-dark); margin-bottom:20px; }
.mc-week{ display:flex; align-items:flex-end; justify-content:space-between; height:130px; gap:8px; }
.mc-week__col{ flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; height:100%; justify-content:flex-end; }
.mc-week__bar{ width:100%; border-radius:8px; background:#DDEEE2; }
.mc-week__bar.is-max{ background:var(--mc-primary); }
.mc-week__d{ font-weight:600; font-size:12px; color:var(--mc-gray); }
.mc-forecast{ background:var(--mc-primary); border-radius:26px; padding:22px; }
.mc-forecast__title{ font-weight:700; font-size:16px; color:var(--mc-dark); margin-bottom:6px; }
.mc-forecast__text{ font-weight:500; font-size:15px; color:#245c3c; line-height:1.5; margin:0; }
.mc-forecast__text b{ color:var(--mc-dark); }

/* ------- чат ------- */
.mc-chat{ position:relative; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
.mc-chat__head{ display:flex; align-items:center; gap:12px; padding:calc(env(safe-area-inset-top) + 16px) 22px 16px; border-bottom:1px solid #F2F1F6; }
.mc-chat__ava{ width:44px; height:44px; border-radius:14px; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:16px; overflow:hidden; }
.mc-chat__ava img{ width:100%;height:100%;object-fit:cover; }
.mc-chat__name{ font-family:var(--mc-font-heading); font-weight:800; font-size:17px; color:var(--mc-dark); }
.mc-chat__status{ display:flex; align-items:center; gap:6px; font-weight:500; font-size:13px; color:#3BB273; }
.mc-chat__dot{ width:7px; height:7px; border-radius:50%; background:#3BB273; }
.mc-chat__body{ flex:1; overflow-y:auto; padding:20px 22px; display:flex; flex-direction:column; gap:12px; }
.mc-msg{ display:flex; }
.mc-msg--mine{ justify-content:flex-end; }
.mc-bubble{ max-width:82%; padding:13px 16px; font:500 15px var(--mc-font-body); line-height:1.45; }
.mc-bubble--ai{ border-radius:20px 20px 20px 6px; background:var(--mc-greenbg2); color:var(--mc-dark); }
.mc-bubble--mine{ border-radius:20px 20px 6px 20px; background:var(--mc-dark); color:#fff; }
.mc-chat__foot{ padding:12px 18px calc(12px + env(safe-area-inset-bottom)); display:flex; gap:10px; align-items:center; background:#fff; border-top:1px solid #F2F1F6; }
.mc-chat__input{ flex:1; min-width:0; padding:15px 18px; border:1.5px solid var(--mc-border); border-radius:16px; font:500 15px var(--mc-font-body); background:var(--mc-soft); outline:none; color:var(--mc-dark); }
.mc-chat__send{ width:50px; height:50px; flex:none; border:none; border-radius:16px; background:var(--mc-dark); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.mc-typing{ font-style:normal; opacity:.7; }

/* ------- профиль ------- */
.mc-profile-top{ display:flex; flex-direction:column; align-items:center; margin-bottom:24px; }
.mc-profile-ava{ width:88px; height:88px; border-radius:50%; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:32px; margin-bottom:12px; overflow:hidden; }
.mc-profile-ava img{ width:100%;height:100%;object-fit:cover; }
.mc-profile-name{ font-family:var(--mc-font-heading); font-weight:800; font-size:20px; color:var(--mc-dark); }
.mc-profile-email{ font-weight:500; font-size:14px; color:var(--mc-gray); margin-bottom:14px; }
.mc-edit-btn{ display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border:1.5px solid var(--mc-border); border-radius:14px; background:#fff; color:var(--mc-dark); font:700 14px var(--mc-font-body); cursor:pointer; }
.mc-goal-mini{ background:var(--mc-primary); border-radius:24px; padding:20px; margin-bottom:18px; display:flex; justify-content:space-between; align-items:center; }
.mc-goal-mini__k{ font-weight:600; font-size:13px; color:#245c3c; }
.mc-goal-mini__t{ font-weight:800; font-size:18px; color:var(--mc-dark); }
.mc-goal-mini__pct{ font-weight:800; font-size:22px; color:var(--mc-dark); }
.mc-menu{ display:flex; flex-direction:column; gap:2px; }
.mc-menu__item{ display:flex; align-items:center; gap:14px; width:100%; padding:16px 4px; background:none; border:none; border-bottom:1px solid #F2F1F6; cursor:pointer; text-align:left; }
.mc-menu__ico{ width:40px; height:40px; border-radius:12px; background:var(--mc-greenbg); display:flex; align-items:center; justify-content:center; color:var(--mc-green); font-weight:800; }
.mc-menu__ico img{ width:22px;height:22px;object-fit:contain; }
.mc-menu__n{ flex:1; font-weight:600; font-size:16px; color:var(--mc-dark); }

/* ------- подписка ------- */
.mc-headrow{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.mc-sub-hero{ background:var(--mc-primary); border-radius:28px; padding:24px; margin-bottom:18px; }
.mc-sub-hero__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.mc-sub-hero__name{ font-weight:800; font-size:20px; color:var(--mc-dark); }
.mc-badge{ font-weight:700; font-size:12px; color:var(--mc-dark); background:#ffffff88; border-radius:10px; padding:6px 12px; }
.mc-badge--off{ background:#ffffffcc; color:#8a3b3b; }
.mc-sub-hero__days{ display:flex; align-items:flex-end; gap:8px; margin-bottom:14px; }
.mc-sub-hero__num{ font-weight:800; font-size:44px; line-height:1; color:var(--mc-dark); }
.mc-sub-hero__lbl{ font-weight:600; font-size:16px; color:#245c3c; margin-bottom:5px; }
.mc-plan{ background:#fff; border:1.5px solid #F0EFF4; border-radius:24px; padding:20px; margin-bottom:18px; }
.mc-plan__row{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.mc-plan__k{ font-weight:700; font-size:16px; color:var(--mc-dark); }
.mc-plan__v{ font-weight:800; font-size:16px; color:var(--mc-dark); }
.mc-feat{ display:flex; flex-direction:column; gap:12px; }
.mc-feat__i{ display:flex; align-items:center; gap:10px; font-weight:500; font-size:15px; color:var(--mc-dark); }

/* ------- о приложении ------- */
.mc-about-top{ display:flex; flex-direction:column; align-items:center; margin-bottom:24px; }
.mc-about-icon{ width:84px; height:84px; border-radius:24px; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:40px; margin-bottom:14px; overflow:hidden; }
.mc-about-icon img{ width:100%;height:100%;object-fit:cover; }
.mc-about-name{ font-weight:800; font-size:20px; color:var(--mc-dark); }
.mc-about-ver{ font-weight:500; font-size:14px; color:var(--mc-gray); }
.mc-about-desc{ font-weight:500; font-size:15px; color:var(--mc-dark); line-height:1.6; background:var(--mc-greenbg); border-radius:20px; padding:18px 20px; margin:0 0 20px; }
.mc-copy{ text-align:center; font-weight:500; font-size:13px; color:var(--mc-muted); margin:26px 0 0; }

/* ------- скан чека ------- */
.mc-scan{ min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
.mc-scan__head{ display:flex; align-items:center; gap:14px; padding:calc(env(safe-area-inset-top) + 16px) 22px 16px; }
.mc-scan__body{ flex:1; overflow-y:auto; padding:0 22px 40px; display:flex; flex-direction:column; }
.mc-view{ position:relative; flex:1; min-height:360px; border-radius:28px; background:var(--mc-dark); overflow:hidden; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.mc-view__grid{ position:absolute; inset:26px; border-radius:18px; background:repeating-linear-gradient(-20deg,#ffffff12,#ffffff12 10px,transparent 10px,transparent 22px); }
.mc-view__corner{ position:absolute; width:34px; height:34px; }
.mc-view__corner--tl{ top:26px; left:26px; border-top:3px solid var(--mc-primary); border-left:3px solid var(--mc-primary); border-radius:12px 0 0 0; }
.mc-view__corner--tr{ top:26px; right:26px; border-top:3px solid var(--mc-primary); border-right:3px solid var(--mc-primary); border-radius:0 12px 0 0; }
.mc-view__corner--bl{ bottom:26px; left:26px; border-bottom:3px solid var(--mc-primary); border-left:3px solid var(--mc-primary); border-radius:0 0 0 12px; }
.mc-view__corner--br{ bottom:26px; right:26px; border-bottom:3px solid var(--mc-primary); border-right:3px solid var(--mc-primary); border-radius:0 0 12px 0; }
.mc-view__hint{ text-align:center; color:#fff; padding:0 40px; }
.mc-view__hint div{ font-weight:600; font-size:15px; opacity:.85; line-height:1.4; }
.mc-view img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mc-scan-ok{ display:flex; align-items:center; gap:14px; background:var(--mc-primary); border-radius:22px; padding:16px 18px; margin-bottom:18px; }
.mc-scan-ok__ico{ width:46px; height:46px; flex:none; border-radius:14px; background:var(--mc-dark); display:flex; align-items:center; justify-content:center; color:#fff; }
.mc-scan-ok__t{ font-weight:800; font-size:16px; color:var(--mc-dark); }
.mc-scan-ok__s{ font-weight:500; font-size:13px; color:#245c3c; }
.mc-receipt{ display:flex; flex-direction:column; gap:2px; margin-bottom:20px; }
.mc-receipt__row{ display:flex; align-items:center; gap:12px; padding:13px 2px; border-bottom:1px solid #F2F1F6; }
.mc-receipt__n{ flex:1; font-weight:600; font-size:15px; color:var(--mc-dark); }
.mc-receipt__chip{ padding:5px 11px; border-radius:10px; font:700 12px var(--mc-font-body); color:var(--mc-dark); background:var(--mc-primary); }
.mc-receipt__p{ font-weight:700; font-size:15px; color:var(--mc-dark); min-width:58px; text-align:right; }
.mc-scan-note{ font-weight:500; font-size:14px; color:var(--mc-gray); line-height:1.5; margin:0 0 20px; background:var(--mc-soft); border-radius:16px; padding:14px 16px; }

/* ------- FAB + нижняя навигация ------- */
.mc-fab{ position:fixed; right:22px; bottom:96px; width:58px; height:58px; border:none; border-radius:20px; background:var(--mc-primary); color:var(--mc-dark); display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px rgba(111,207,151,.5); cursor:pointer; z-index:45; }
.mc-fab img{ width:26px;height:26px;object-fit:contain; }
.mc-nav{ position:fixed; left:50%; transform:translateX(-50%); width:calc(100% - 32px); max-width:388px; bottom:calc(16px + env(safe-area-inset-bottom)); height:66px; background:rgba(255,255,255,.72); backdrop-filter:blur(24px) saturate(150%); -webkit-backdrop-filter:blur(24px) saturate(150%); border:1px solid rgba(255,255,255,.55); box-shadow:0 8px 30px rgba(60,40,120,.15); border-radius:34px; display:flex; align-items:center; justify-content:space-around; padding:0 8px; z-index:40; }
.mc-nav__btn{ display:flex; align-items:center; justify-content:center; width:54px; height:54px; border:none; border-radius:50%; background:transparent; color:#9b96a6; cursor:pointer; }
.mc-nav__btn.is-on{ background:rgba(111,207,151,.25); color:var(--mc-dark); }
.mc-nav__btn img{ width:24px;height:24px;object-fit:contain; }

/* ------- всплывающее уведомление о подписке ------- */
.mc-lock{ position:fixed; inset:0; background:rgba(20,18,26,.55); display:flex; align-items:flex-end; justify-content:center; z-index:80; padding:16px; }
.mc-lock__card{ width:100%; max-width:388px; background:#fff; border-radius:28px; padding:26px 22px calc(26px + env(safe-area-inset-bottom)); text-align:center; }
.mc-lock__ico{ width:64px; height:64px; border-radius:20px; background:var(--mc-greenbg); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; color:var(--mc-green); }
.mc-lock__t{ font-family:var(--mc-font-heading); font-weight:800; font-size:22px; color:var(--mc-dark); margin:0 0 10px; }
.mc-lock__s{ font-weight:500; font-size:15px; color:var(--mc-gray); line-height:1.45; margin:0 0 22px; }

/* ------- тосты ------- */
.mc-toast{ position:fixed; left:50%; bottom:100px; transform:translateX(-50%); background:var(--mc-dark); color:#fff; font-weight:600; font-size:14px; padding:13px 20px; border-radius:16px; z-index:90; box-shadow:0 10px 30px rgba(0,0,0,.25); animation:mc-toast .3s ease; }
@keyframes mc-toast{ from{ opacity:0; transform:translate(-50%,10px); } to{ opacity:1; transform:translate(-50%,0); } }

/* ------- плашка на десктопе ------- */
.mc-plashka{ min-height:70vh; display:flex; align-items:center; justify-content:center; background:#CFC0F5; padding:48px 16px; border-radius:24px; font-family:var(--mc-font-body); }
.mc-plashka__card{ background:#fff; border-radius:40px; padding:40px 36px; max-width:420px; text-align:center; box-shadow:0 40px 80px rgba(60,40,120,.25); }
.mc-plashka__logo{ width:72px; height:72px; border-radius:20px; background:var(--mc-primary); display:flex; align-items:center; justify-content:center; color:var(--mc-dark); font-weight:800; font-size:36px; margin:0 auto 20px; }
.mc-plashka__title{ font-family:var(--mc-font-heading); font-weight:800; font-size:26px; color:var(--mc-dark); margin:0 0 12px; }
.mc-plashka__text{ font-weight:500; font-size:16px; color:var(--mc-gray); line-height:1.5; margin:0 0 24px; }
.mc-plashka__qr{ border-radius:16px; margin:0 auto 18px; display:block; }
.mc-plashka__link{ font-weight:600; font-size:14px; word-break:break-all; }

.mc-mb8{ margin-bottom:8px; } .mc-mb12{ margin-bottom:12px; } .mc-mb22{ margin-bottom:22px; }
.mc-hidden{ display:none !important; }
