/* Admin shell (public/admin/shell.js): left menu, header, bottom bar on phones,
   home screen. Loaded after admin.css. Old tab-bar rules stay for sub-tabs. */
/* Admin palette from the mockups. styles.css is shared with the public site and defines --ink as near-black;
   in the cabinet --ink is the brand navy (headings, buttons, active menu item), body text stays near-black. */
:root{--ink:#1F3F73;--ink-soft:#4A5B7A;--muted:#68707F;--muted-2:#7C8493;--text:#1A1917;--line:#EDE7D9;}
body{color:var(--text);}
input[type=text],input[type=number],input[type=url],input[type=password],input[type=email],input[type=date],input[type=tel],textarea,select{color:var(--text);}
.acc-avatar{background:#F9CB4C;color:var(--ink);}
.cab-sites-note{background:var(--tint,#FEF6E0);border:1px solid #F2D57A;border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--text);margin-bottom:16px;}
.cab-sites-note b{color:var(--ink);}
.cab-sites .cab-sites-note-in{margin:0 0 12px;}
.site-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line);}
.site-row:first-child{border-top:0;}
.site-row .who{flex:1 1 220px;min-width:0;}
.site-row .who b{display:block;color:var(--ink);}
.site-row .who small{color:var(--muted);font-size:12px;overflow-wrap:anywhere;}
.lp-plan-sites{font-size:12.5px;color:var(--muted);margin:-2px 0 8px;line-height:1.4;}
.lp-plan-sites b{color:var(--ink);}
.acc-menu-row{display:flex;align-items:center;gap:2px;}
.acc-menu-row .acc-menu-item{flex:1;min-width:0;}
.acc-unlink{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;border-radius:8px;color:var(--muted-2);cursor:pointer;}
.acc-unlink:hover,.acc-unlink:focus-visible{background:var(--bad-bg,#FBEAE7);color:var(--red,#B23B2E);}
body{font-family:'Mulish','Montserrat',system-ui,sans-serif;}
.wrap{padding-bottom:90px;}
h1,h2,h3,.serif{font-family:'Montserrat',sans-serif;}

/* ---- header ---- */
.cab-top{position:sticky;top:0;z-index:30;background:rgba(251,247,233,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin:0 -20px;padding:10px 20px;display:flex;align-items:center;gap:12px;}
.cab-brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:var(--ink);}
.cab-brand svg{flex-shrink:0;}
.cab-brand span{display:block;min-width:0;}
.cab-brand b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cab-brand small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cab-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.cab-actions>div{display:flex;align-items:center;gap:8px;}
.cab-state{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;}
.cab-state::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;}
.cab-state.on{background:#E5F5EA;color:#2F7D4F;}
.cab-state.off{background:#FBF3D0;color:#A6790E;}
.cab-open{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;}
.cab-open:hover{border-color:var(--clay);background:var(--clay-tint);}
.cab-open-ico{display:none;font-size:16px;line-height:1;}
.cab-top .btn-billing-cta{height:36px;}
.cab-top .btn-billing-cta .billing-cta-label{display:none;}
@media(min-width:900px){.cab-top .btn-billing-cta .billing-cta-label{display:inline;}}
/* На мобильном «Открыть сайт» остаётся, но компактной круглой кнопкой с
   иконкой - раньше пропадала вовсе, и не было способа открыть сайт из
   шапки (owner, 2026-10-01). Статус-пилюля «Опубликован» по-прежнему
   прячется - это дублируется на главном экране «Мой сайт». */
@media(max-width:699px){
  .cab-state{display:none;}
  .cab-top{gap:8px;}
  .cab-open{width:36px;height:36px;padding:0;justify-content:center;gap:0;}
  .cab-open-ico{display:inline;}
  .cab-open-label{display:none;}
}

/* ---- layout ---- */
.cab-shell{display:grid;grid-template-columns:232px minmax(0,1fr);gap:24px;padding-top:20px;align-items:start;}
@media(max-width:899px){.cab-shell{grid-template-columns:1fr;padding-top:14px;}}
.cab-nav{position:sticky;top:76px;display:flex;flex-direction:column;gap:2px;}
.cab-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--muted);font-weight:700;font-size:14.5px;text-decoration:none;cursor:pointer;}
.cab-nav a:hover{background:var(--clay-tint);color:var(--ink);}
.cab-nav a.on{background:var(--ink);color:#fff;}
.cab-nav a svg{width:20px;height:20px;flex-shrink:0;}
.cab-nav .tab-badge{margin-left:auto;}
.cab-nav a.on .tab-badge{background:var(--clay);color:var(--ink);}
.cab-nav .sep{height:1px;background:var(--line);margin:8px 12px;}
.cab-nav a.tariff{margin-top:6px;background:linear-gradient(135deg,#F9CB4C 0%,#FAE39A 100%);color:var(--ink);border:1px solid #F2D57A;box-shadow:0 8px 20px -14px rgba(196,150,20,.8);padding:10px 12px;}
.cab-nav a.tariff:hover{background:linear-gradient(135deg,#F5C02F 0%,#F9CB4C 100%);}
.cab-nav a.tariff.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.cab-nav a.tariff .tt{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.cab-nav a.tariff .tt b{font-family:'Montserrat',sans-serif;font-size:14px;}
.cab-nav a.tariff .tt small{font-size:11.5px;font-weight:600;opacity:.8;}
.cab-nav a.tariff .arr{margin-left:auto;width:16px;height:16px;opacity:.7;}
.cab-nav .lock{margin-left:auto;opacity:.7;}
@media(max-width:899px){
  .cab-nav{display:none;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));top:auto;z-index:25;background:var(--card);border-top:1px solid var(--line);border-radius:18px 18px 0 0;padding:12px;box-shadow:0 -12px 30px rgba(26,25,23,.15);max-height:70vh;overflow:auto;}
  .cab-nav.open{display:flex;}
}

/* sub-tabs inside a grouped section */
.cab-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;}
.cab-subtabs .admin-tab{padding:7px 14px;font-size:0.8rem;}
.cab-main{min-width:0;}

/* bottom bar (phones) */
.cab-bottom{display:none;position:fixed;left:0;right:0;bottom:0;z-index:26;background:rgba(255,254,250,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));}
@media(max-width:899px){.cab-bottom{display:grid;grid-template-columns:repeat(5,1fr);}}
.cab-bottom a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:700;color:var(--muted);text-decoration:none;position:relative;border-radius:10px;cursor:pointer;}
.cab-bottom a.on{color:var(--ink);}
.cab-bottom a.on svg{background:var(--clay);border-radius:10px;}
.cab-bottom a svg{width:26px;height:26px;padding:3px;}
.cab-bottom .tab-badge{position:absolute;top:2px;right:calc(50% - 22px);margin:0;}

/* ---- home ---- */
.hm{display:flex;flex-direction:column;gap:18px;}
.hm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.hm-head h1{font-size:24px;font-weight:800;margin:0;}
.hm-head .sub{color:var(--muted);margin:4px 0 0;font-size:14px;}
.help{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);color:var(--muted);font:800 12px/1 Mulish,sans-serif;text-decoration:none;vertical-align:middle;margin-left:6px;}
.help:hover{border-color:var(--clay);color:var(--ink);background:var(--clay-tint);}
.hm-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;}
.hm-found{display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;border-radius:18px;padding:16px 18px;flex-wrap:wrap;}
.hm-found b{display:block;font-family:'Montserrat',sans-serif;}
.hm-found span{font-size:13px;color:#C9D3E8;}
.hm-found .btn{margin-left:auto;background:var(--clay);border-color:var(--clay);color:var(--ink);white-space:nowrap;}
@media(max-width:480px){.hm-found{flex-direction:column;align-items:flex-start;}.hm-found .btn{margin-left:0;width:100%;justify-content:center;}}
.hm-progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin:10px 0 4px;}
.hm-progress i{display:block;height:100%;background:var(--clay);border-radius:999px;}
.hm-tasks{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.hm-task{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:inherit;cursor:pointer;text-align:left;font:inherit;width:100%;}
.hm-task:hover{border-color:var(--clay);background:var(--clay-tint);}
.hm-task .ic{width:38px;height:38px;border-radius:12px;background:#FAEDC2;display:grid;place-items:center;color:#A6790E;flex-shrink:0;}
.hm-task b{display:block;color:var(--ink);font-size:14.5px;}
.hm-task span{font-size:13px;color:var(--muted);}
.hm-task .go{margin-left:auto;color:var(--faint);flex-shrink:0;}
.hm-more{background:none;border:0;padding:10px 4px 2px;font-weight:700;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:flex-start;}
.hm-done{display:flex;gap:10px;align-items:center;padding:14px 16px;background:#E5F5EA;color:#2F7D4F;border-radius:14px;font-weight:700;}
.cab-brand{flex:1 1 auto;}
.cab-actions{flex-shrink:0;}
.cab-actions .btn,.cab-top .btn-billing-cta,.cab-top .billing-cta-status{white-space:nowrap;}
@media(max-width:699px){.cab-brand small{display:none;}.cab-brand b{font-size:14px;}.cab-top .btn-billing-cta{padding:0 10px;}.cab-actions .btn{padding:0 12px;height:36px;font-size:13px;}}
@media(max-width:699px){.cab-brand{flex:0 0 auto;}.cab-brand span{display:none;}.cab-actions{margin-left:auto;}}
@media(max-width:699px){.cab-top{flex-wrap:wrap;row-gap:6px;}.cab-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%;}}

/* compact credits chip */
.cab-credits{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:800 13px/1 'Mulish',sans-serif;cursor:pointer;white-space:nowrap;}
.cab-credits:hover{border-color:var(--clay);background:var(--clay-tint);}
.cab-credits.nudge{background:var(--clay-tint);border-color:#E9D98A;}
.cab-credits.alert{background:var(--red);border-color:var(--red);color:#fff;}
.cab-credits svg{width:14px;height:14px;}
/* closer to the mockups: 15px base inside the cabinet, red counters in the menu */
.cab-shell{font-size:15px;}
.cab-shell p{line-height:1.5;}
.cab-nav .tab-badge,.cab-bottom .tab-badge{background:var(--red);color:#fff;}
.cab-nav a.on .tab-badge{background:var(--clay);color:var(--ink);}

/* ---- stage A: old panels in the new language ---- */
.panel{background:transparent;border:0;box-shadow:none;padding:0;}
.cab-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.cab-head>div:first-child{flex:1 1 320px;min-width:0;}
.cab-head h1{font-size:24px;font-weight:800;margin:0;}
.cab-head .cab-sub{font-size:14px;color:var(--muted);margin:4px 0 0;max-width:60ch;line-height:1.5;}
.cab-tools{display:flex;gap:8px;flex-wrap:wrap;align-self:flex-start;margin-left:auto;}
@media(max-width:560px){.cab-tools{width:100%;margin-left:0;}.cab-tools .btn{flex:1;justify-content:center;}}
.cab-addcard{background:var(--card);border:1.5px solid var(--clay);box-shadow:0 0 0 3px rgba(249,203,76,.25);border-radius:18px;padding:18px;margin-bottom:18px;}
.cab-addcard[hidden]{display:none;}
.cab-addcard h2{font-size:16px;margin:0 0 12px;}
.cab-addcard .site-section-title{display:none;}
.site-section-title{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--ink);margin:26px 0 12px;border:0;padding:0;}
.panel-sub{font-size:13.5px;color:var(--muted);max-width:64ch;margin-bottom:14px;}
.fact-row,.list-item{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;margin-bottom:10px;}
.fact-cat{font-size:11px;letter-spacing:.05em;color:#A6790E;}
.list-item-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:var(--ink);}
.list-item-sub{font-size:13px;}
.btn{border-radius:999px;font-family:'Mulish',sans-serif;font-weight:800;}
.btn-sm{height:34px;padding:0 14px;font-size:13px;}
.btn-ghost{border:1.5px solid var(--line);color:var(--ink);background:var(--card);}
.btn-ghost:hover{border-color:var(--clay);background:var(--clay-tint);}
.btn-ai{background:var(--clay-tint);border:1.5px solid #F2E2A8;color:#6B5A1E;}
.btn-ai.btn-primary{background:var(--btn-yellow);border-color:var(--btn-yellow);color:var(--btn-ink);}
.field label{font-size:12.5px;font-weight:700;color:var(--muted);}
.field input,.field textarea,.field select{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;}
.field input:focus,.field textarea:focus{border-color:var(--clay);box-shadow:0 0 0 3px rgba(249,203,76,.35);outline:none;}
.verify-banner{border-radius:16px;}
.error-banner{border-radius:16px;}
.bulk-row{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 14px;font-size:13.5px;color:var(--muted);}
.bulk-row .bulk-note{flex:1 1 100%;background:#FBEAE7;color:#B23B2E;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.45;}
.bulk-row .bulk-note b{font-weight:800;}
.plan-lock-note{background:var(--clay-tint);border:1px solid #F2E2A8;border-radius:16px;font-size:13.5px;color:#6B5A1E;}
.empty-note{font-size:13.5px;padding:10px 2px;}
.rv-item .rv-actions{border-top:0;padding-top:8px;margin-top:8px;}

/* ---- stage B: review feed ---- */
.rv-pc{position:sticky;top:64px;z-index:15;box-shadow:0 8px 18px -14px rgba(26,25,23,.35);padding:14px 18px;margin-bottom:18px;}
.rv-pctop{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;}
.rv-pctop b{font-family:'Montserrat',sans-serif;font-size:17px;color:var(--ink);}
.rv-pctop span{font-size:13px;font-weight:700;color:var(--ink);}
.rv-feed{display:flex;flex-direction:column;gap:26px;}
/* decided items fold under the section; a finished section is just its header (2026-10-18) */
.rv-decided{margin:0 0 10px;}
.rv-decided summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 10px 9px 14px;border:1px solid var(--line,#EAE3CC);border-radius:14px;font-size:14px;color:var(--muted);background:var(--card,#fff);transition:border-color .15s ease,box-shadow .15s ease;}
.rv-decided summary::-webkit-details-marker{display:none;}
.rv-decided summary::marker{content:"";}
.rv-decided summary:hover{border-color:#2F7D4F;box-shadow:0 6px 18px -12px rgba(26,25,23,.35);}
/* the toggle: a label + a round chevron that turns over when the list is open */
.rv-decided-hint{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1F6B42;}
.rv-decided-hint .chev{width:28px;height:28px;border-radius:50%;background:#E5F5EA;color:#1F6B42;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,background .15s ease;}
.rv-decided summary:hover .chev{background:#2F7D4F;color:#fff;}
.rv-decided[open] .chev{transform:rotate(180deg);}
.rv-decided .lbl-close{display:none;}
.rv-decided[open] .lbl-open{display:none;}
.rv-decided[open] .lbl-close{display:inline;}
.rv-decided[open] summary{margin-bottom:10px;border-color:#BFE3CB;}
.rv-sec.is-done .rv-sechead{margin-bottom:6px;}
.rv-sec.is-done .rv-sechead .sub{display:none;}
.rv-sec.is-done .rv-group:empty{display:none;}
.rv-sechead{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.rv-sechead h2{font-size:19px;margin:0;}
.rv-sechead .sub{margin:3px 0 0;font-size:14px;color:var(--muted);max-width:60ch;}
.rv-sechead .btn{margin-left:auto;}
.rv-sechead h2 .pill{font-size:11px;padding:2px 9px;margin-left:8px;vertical-align:middle;}
.rv-note{background:var(--clay-tint);border:1px solid #F2E2A8;border-radius:12px;padding:10px 14px;font-size:13px;color:#6B5A1E;margin-bottom:10px;}
.rv-group{display:flex;flex-direction:column;gap:10px;}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;}
.pill-good{background:#E5F5EA;color:#2F7D4F;}
.pill-muted{background:var(--paper);color:var(--muted);border:1px solid var(--line);}
.rv.it{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);margin:0;}
.rv.it .main{flex:1;min-width:0;}
.rv.it .cat{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#A6790E;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rv.it .cat .stars{color:#A6790E;letter-spacing:1px;font-size:12px;}
.rv.it .cat .src-tag{font-size:10.5px;font-weight:700;letter-spacing:0;text-transform:none;background:var(--paper);color:var(--muted);padding:2px 8px;border-radius:999px;}
.rv.it .tag-ai{display:inline-flex;align-items:center;gap:4px;background:#FAEDC2;color:#6B5A1E;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700;letter-spacing:0;text-transform:none;}
.rv.it p.t{margin:4px 0 6px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;}
.rv.it .d{font-size:13px;color:var(--muted);margin:0 0 6px;}
.rv.it .src{font-size:12px;color:var(--faint);}
.rv.it .src a{color:var(--muted);}
.rv.it .acts{display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:stretch;min-width:132px;}
.rv.it .acts .btn{justify-content:center;}
.rv.it.ok{background:#F6FBF7;border-color:#CFE8D6;}
.rv.it.ok .cat{color:#2F7D4F;}
.rv.it.ok .acts{align-items:flex-end;min-width:0;}
.rv.it.off{background:transparent;border-style:dashed;padding:10px 16px;align-items:center;}
.rv.it.off .main{display:flex;gap:8px;align-items:center;min-width:0;}
.rv.it.off .t{margin:0;color:var(--faint);font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rv.it .link{background:none;border:0;padding:2px 0;font-weight:700;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap;}
.rv.it .warn{background:#FBF3D0;color:#7A5A0E;border-radius:10px;padding:8px 10px;font-size:13px;margin-top:8px;}
.rv.it .edit{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px;}
/* the phone gets room for «+7 (495) 123-45-67» in full; the clinic name takes what is left */
.rv.it .edit .row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,230px);gap:8px;}
.rv.it .edit input,.rv.it .edit textarea,.rv.it .val-in{font:inherit;border:1.5px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff;color:var(--ink);width:100%;resize:vertical;}
.rv.it .val-in{margin:6px 0;}
.rv.it .svc-line{display:flex;gap:12px;align-items:baseline;margin:4px 0 2px;}
.rv.it .svc-line b{color:var(--ink);font-size:15px;}
.rv.it .svc-line .price{margin-left:auto;font-family:'Montserrat',sans-serif;font-weight:800;color:var(--ink);white-space:nowrap;}
.rv.it .photo-row{display:flex;gap:14px;align-items:flex-start;}
.rv.it .ph{width:76px;height:94px;border-radius:14px;overflow:hidden;background:#FAEDC2;flex-shrink:0;}
.rv.it .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.rv.it .rights{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:600;margin:8px 0 2px;cursor:pointer;}
.rv.it .rights input{margin-top:3px;width:16px;height:16px;accent-color:#1F3F73;}
.rv-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:6px;}
.rv-sum .t{background:var(--paper);border-radius:14px;padding:12px 14px;}
.rv-sum .t b{display:block;font-family:'Montserrat',sans-serif;font-size:22px;color:var(--ink);}
.rv-sum .t span{font-size:13px;color:var(--muted);}
.rv-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;}
.rv-foot .fine{font-size:13px;color:var(--muted);}
.cab-nav a[hidden]{display:none;}
@media(max-width:600px){.rv.it{flex-direction:column;}.rv.it .acts{flex-direction:row;flex-wrap:wrap;width:100%;min-width:0;}.rv.it .acts .btn{flex:1;}.rv.it.ok .acts{justify-content:flex-start;}.rv.it .edit .row2{grid-template-columns:1fr;}}

#readinessChip{display:none!important;}

/* ---- stage C: accordion blocks ---- */
details.blk{border:1px solid var(--line);border-radius:18px;background:var(--card);margin-bottom:12px;}
details.blk>summary{cursor:pointer;padding:15px 18px;list-style:none;display:flex;align-items:center;gap:12px;}
details.blk>summary::-webkit-details-marker{display:none;}
details.blk>summary .ic{width:38px;height:38px;border-radius:12px;background:var(--paper);display:grid;place-items:center;color:var(--ink);flex-shrink:0;}
details.blk>summary .ic svg{width:18px;height:18px;}
details.blk>summary .tt{flex:1;min-width:0;}
details.blk>summary h2{font-size:15.5px;margin:0;}
details.blk>summary .sub2{font-size:12.5px;color:var(--muted);margin-top:2px;}
details.blk>summary .chev{width:18px;height:18px;color:var(--faint);transition:transform .2s;flex-shrink:0;}
details.blk[open]>summary .chev{transform:rotate(90deg);}
details.blk[open]>summary{border-bottom:1px solid var(--line);}
details.blk>.body{padding:16px 18px 18px;}
details.blk>.body>.fact-row{border:0;padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line);border-radius:0;}
details.blk>.body>.fact-row:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
details.blk>.body>.site-section-title{display:none;}
.pill-bad{background:#FBEAE7;color:#B23B2E;}
.pill-warn{background:#FBF3D0;color:#A6790E;}
@media(max-width:560px){details.blk>summary{flex-wrap:wrap;}details.blk>summary .tt{flex:1 1 180px;}details.blk>summary .pill{order:5;margin-left:50px;}}
/* service editor */
.cab-edgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;}
@media(min-width:1180px){.cab-edgrid{grid-template-columns:minmax(0,1fr) 300px;}}
.cab-edside{display:none;}
@media(min-width:1180px){.cab-edside{display:block;position:sticky;top:80px;}}
.cab-edside .lbl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 8px;}
.cab-edprev{background:#FFFEFA;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(26,25,23,.35);}
.cab-edprev .bar{background:#fff;border-bottom:1px solid var(--line);padding:9px 12px;display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--faint);}
.cab-edprev .bar i{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block;}
.cab-edprev .bar span{margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cab-edprev .cov{height:110px;background:linear-gradient(160deg,#FAEDC2,#F9CB4C) center/cover no-repeat;display:grid;place-items:center;color:var(--ink);font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;}
.cab-edprev .bd{padding:14px;}
.cab-edprev h3{font-size:16px;margin:0 0 4px;}
.cab-edprev .pr{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--ink);font-size:19px;margin:4px 0;}
.cab-edprev .fine{font-size:12px;color:var(--muted);margin-bottom:6px;}
.cab-edprev p.d{margin:0 0 10px;color:var(--muted);font-size:13px;}
.cab-edprev .tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;}
.cab-edprev .tags span{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;}
.cab-edprev .tags span.on{background:#E5F5EA;color:#2F7D4F;}
.cab-edprev .tags span.off{background:var(--paper);color:var(--faint);border:1px dashed var(--line);}
.cab-edprev .cta{display:block;text-align:center;background:var(--clay);border-radius:999px;padding:8px;font-size:12.5px;font-weight:800;color:var(--ink);}
.ed-bar{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin-bottom:12px;}
.cab-ed .panel-title{display:none;}

/* ---- stage D ---- */
/* Статус и кредиты - две равные карточки (2026-10-01, owner: «вариант A», было одним плотным
   блоком с текстовыми ссылками вместо кнопок). */
.cab-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:stretch;margin-bottom:22px;}
@media(max-width:820px){.cab-hero-grid{grid-template-columns:1fr;}}
.cab-thero{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;}
.cab-thero .th-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);}
.cab-thero h1{font-size:30px;margin:4px 0 0;}
.cab-thero p{margin:8px 0 0;font-size:14px;color:var(--ink-soft);max-width:52ch;line-height:1.5;}
.cab-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:16px;}
.cab-credits-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;}
.cab-credits-card .th-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);}
.cab-credits-card .credits-big{display:flex;flex-direction:column;gap:2px;margin:8px 0 16px;}
.cab-credits-card .credits-big b{font-family:'Montserrat',sans-serif;font-size:34px;color:var(--ink);line-height:1;}
.cab-credits-card .credits-big span{font-weight:700;color:var(--muted);font-size:13px;}
.cab-credits-card .packs{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;}
.cab-mat{display:flex;flex-direction:column;gap:12px;margin-top:22px;}
.lock-card{display:flex;gap:16px;align-items:center;border:1.5px dashed var(--line);border-radius:18px;padding:18px;background:var(--card);}
.lock-card.open{border-style:solid;}
.lock-card .ic{width:44px;height:44px;border-radius:14px;background:var(--paper);display:grid;place-items:center;color:var(--faint);flex-shrink:0;}
.lock-card .ic svg{width:20px;height:20px;}
.lock-card .tt{flex:1;min-width:0;}
.lock-card h2{font-size:15.5px;display:flex;gap:8px;align-items:center;margin:0;}
.lock-card .sub2{font-size:13px;color:var(--muted);margin-top:3px;max-width:60ch;}
.lock-card .btn{flex-shrink:0;white-space:nowrap;}
.lock-tag{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--paper);color:var(--muted);border:1px solid var(--line);}
@media(max-width:600px){.lock-card{flex-direction:column;align-items:flex-start;}.lock-card .btn{width:100%;justify-content:center;}}
.cab-lead .list-item-top{align-items:center;gap:14px;}
.cab-lead .ch{width:40px;height:40px;border-radius:12px;background:var(--paper);display:grid;place-items:center;color:var(--ink);flex-shrink:0;font-size:11px;font-weight:800;}
.cab-lead.new{border-color:#F2D57A;background:#FFFBEF;}
.cab-lead.new .ch{background:var(--clay);}
.cab-lead .list-item-top>div:nth-child(2){flex:1;min-width:0;}
.seg2{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;}
.seg2 .seg-b{border:0;background:#fff;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;}
.seg2 .seg-b:not(:last-child){border-right:1px solid var(--line);}
.seg2 .seg-b.on{background:var(--ink);color:#fff;}
@media(max-width:640px){.cab-lead .list-item-top{flex-wrap:wrap;}.cab-lead .fact-actions{width:100%;flex-wrap:wrap;}}
.rv-item .list-item-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rv-stars{color:#A6790E;letter-spacing:1px;font-weight:400;}
.rv-item .rv-comment{font-size:14.5px;color:var(--ink);margin-top:6px;}
.rv-meta{font-size:12.5px;}
.rv-warn{border-radius:10px;font-size:13px;}
.rv-ok{background:var(--green-bg,#EAF6EC);border:1px solid #BFE0C6;border-radius:10px;padding:11px 13px;font-size:13px;color:#1F5A2B;margin:11px 0;}

/* ---- sections.js: rebuilt screens ---- */
.cab-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px;}
.sec-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.sec-head h2{font-size:17px;margin:0;}
.sec-head .sub{margin:3px 0 0;font-size:13.5px;color:var(--muted);max-width:60ch;}
.sec-head .right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.count{display:inline-flex;align-items:center;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--paper);color:var(--muted);vertical-align:middle;margin-left:8px;}
.count.hot{background:var(--red);color:#fff;}
.count.warn{background:#FBF3D0;color:#A6790E;}
.rows{display:flex;flex-direction:column;gap:10px;}
.acts-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.toggle{display:flex;gap:10px;align-items:center;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;}
.toggle input{width:18px;height:18px;accent-color:#1F3F73;}
.more{background:none;border:0;padding:8px 2px;font-weight:700;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.link{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.cab-back{background:none;border:0;padding:6px 2px;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;margin-bottom:8px;}
.cab-back:hover{color:var(--ink);text-decoration:underline;}
/* services list */
.svc-rows{display:flex;flex-direction:column;gap:10px;}
.svc-row{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);}
.svc-row.confirmed{background:#F6FBF7;border-color:#CFE8D6;}
.svc-row .info{flex:1;min-width:0;}
.svc-row .src{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:2px;}
.svc-row .nm{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--ink);font-size:15.5px;}
.svc-row .price{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13.5px;margin-top:2px;}
.svc-row .price b{color:var(--ink);font-weight:800;}
.svc-row .draft-tag{display:inline-flex;align-items:center;background:#FBF3D0;color:#A6790E;border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:800;margin-left:8px;}
.svc-row .acts{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.tag-ai{display:inline-flex;align-items:center;gap:4px;background:#FAEDC2;color:#6B5A1E;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700;letter-spacing:0;text-transform:none;}
.plan-note{display:flex;gap:12px;align-items:center;background:var(--clay-tint);border:1px solid #F2E2A8;border-radius:16px;padding:14px 16px;margin-bottom:14px;font-size:13.5px;color:#6B5A1E;}
.plan-note.over{background:#FBF3D0;border-color:#E7C978;color:#7A5A0E;}
.plan-note b{display:block;margin-bottom:2px;}
.plan-note .btn{flex-shrink:0;white-space:nowrap;}
@media(max-width:680px){.svc-row{flex-direction:column;align-items:stretch;}.svc-row .acts{justify-content:flex-start;}.plan-note{flex-direction:column;align-items:flex-start;}.plan-note .btn{width:100%;justify-content:center;}}
/* review rows (sections.js) */
.rv{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);}
.rv.published{background:#F6FBF7;border-color:#CFE8D6;}
.rv.rejected{opacity:.7;border-style:dashed;}
.rv .main{flex:1;min-width:0;}
.rv .who{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:800;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:14.5px;}
.rv .stars{color:#A6790E;letter-spacing:1px;font-size:13px;font-family:'Mulish',sans-serif;font-weight:400;}
.rv .src{display:inline-flex;align-items:center;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--paper);color:var(--muted);font-family:'Mulish',sans-serif;}
.rv .src.site{background:#FAEDC2;color:#6B5A1E;}
.rv p{margin:6px 0 4px;font-size:14.5px;color:var(--ink);overflow-wrap:anywhere;line-height:1.5;}
.rv .meta{font-size:12.5px;color:var(--faint);}
.rv .meta a{color:var(--muted);}
.rv .warn{background:#FBF3D0;color:#7A5A0E;border-radius:10px;padding:8px 10px;font-size:13px;margin-top:8px;}
.rv .warn.bad{background:#FBEAE7;color:#B23B2E;}
.rv .reply{margin-top:8px;font-size:13.5px;background:var(--paper);border-radius:10px;padding:8px 10px;}
.rv .reply b{color:var(--ink);}
.rv .replybox{margin-top:8px;display:flex;flex-direction:column;gap:8px;}
.rv .replybox[hidden]{display:none;}
.rv .editbox{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.rv .editbox[hidden]{display:none;}
.rv .editbox textarea{font:inherit;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;width:100%;min-height:170px;resize:vertical;line-height:1.5;}
.rv .editbox input{font:inherit;border:1.5px solid var(--line);border-radius:12px;padding:9px 12px;width:100%;}
.rv .editbox .ra{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.rv .replybox textarea{font:inherit;border:1.5px solid var(--line);border-radius:12px;padding:9px 12px;width:100%;resize:vertical;}
.rv .replybox .ra{display:flex;gap:8px;flex-wrap:wrap;}
.rv .checks{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.rv .checks label{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);cursor:pointer;}
.rv .checks input{accent-color:#1F3F73;width:auto;}
.rv .acts{display:flex;flex-direction:column;gap:6px;flex-shrink:0;min-width:150px;}
.rv .acts .btn{justify-content:center;}
.rv .acts .row-b{display:flex;gap:6px;}
.rv .acts .row-b .btn{flex:1;}
@media(max-width:640px){.rv{flex-direction:column;}.rv .acts{flex-direction:row;flex-wrap:wrap;min-width:0;width:100%;}.rv .acts .btn{flex:1;}}
/* leads */
.lead{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);}
.lead.new{border-color:#F2D57A;background:#FFFBEF;}
.lead .ch{width:40px;height:40px;border-radius:12px;background:var(--paper);display:grid;place-items:center;color:var(--ink);flex-shrink:0;font-size:11px;font-weight:800;}
.lead.new .ch{background:var(--clay);}
.lead .main{flex:1;min-width:0;}
.lead .ph{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--ink);font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.lead .ph .chn{font-family:'Mulish',sans-serif;font-weight:600;color:var(--muted);font-size:13px;}
.lead .ph .dot{width:8px;height:8px;border-radius:50%;background:var(--red);}
.lead .meta{font-size:13px;color:var(--muted);margin-top:2px;}
.lead .note{font-size:13.5px;color:var(--ink);margin-top:6px;background:var(--paper);border-radius:10px;padding:8px 10px;}
.lead .acts{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:640px){.lead{flex-direction:column;}.lead .acts{justify-content:flex-start;}}
/* video rows */
.it.vid{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);}
.it.vid.ok{background:#F6FBF7;border-color:#CFE8D6;}
.it.vid .main{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:0;}
.it.vid .th{width:96px;height:60px;border-radius:10px;background:var(--ink);display:grid;place-items:center;color:#fff;flex-shrink:0;}
.it.vid .cat{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#A6790E;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.it.vid.ok .cat{color:#2F7D4F;}
.it.vid .t{margin:3px 0 2px;font-weight:700;color:var(--ink);}
.it.vid .src{font-size:12px;color:var(--faint);}
.it.vid .attach{display:flex;gap:8px;align-items:center;margin-top:6px;}
.it.vid .attach select{font:inherit;font-size:12.5px;border:1.5px solid var(--line);border-radius:10px;padding:5px 8px;background:#fff;}
.it.vid .acts{display:flex;flex-direction:column;gap:6px;flex-shrink:0;min-width:140px;}
.it.vid .acts .btn{justify-content:center;}
@media(max-width:640px){.it.vid{flex-direction:column;}.it.vid .acts{flex-direction:row;flex-wrap:wrap;min-width:0;width:100%;}.it.vid .acts .btn{flex:1;}}
.cab-thero h1 small{font-family:'Mulish',sans-serif;font-size:13px;font-weight:700;color:var(--muted);}
.cab-thero .fine{font-size:13px;}
/* nested old panels inside blocks (facts, docs, settings) */
details.blk .panel{padding:0;}
details.blk .cab-head{margin-bottom:12px;}
details.blk .cab-head h1{font-size:16px;}
details.blk .cab-head .cab-sub{font-size:13px;}
details.blk .cab-head .help{display:none;}

/* mobile: inline flex-basis from admin.js must not become a HEIGHT in column rows */
@media(max-width:640px){.row>.field,.row>div[style*="flex"]{flex:0 0 auto!important;width:100%;max-width:100%!important;}.row{gap:10px;}}
.loc-legal .row,.fact-row .row{row-gap:10px;}
.ed-actions{align-items:center;gap:8px;flex-wrap:wrap;}
.cab-genst{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;}
.seg2 .seg-b.is-loading{opacity:.5;pointer-events:none;}
.btn.is-loading{opacity:.75;pointer-events:none;}

/* avatar = upload control */
.photo-preview.cab-pick{cursor:pointer;width:104px;height:124px;border-radius:16px;border:1.5px dashed #E3C978;background:linear-gradient(160deg,#FAEDC2,#F9CB4C);transition:transform .15s,box-shadow .15s;}
.photo-preview.cab-pick:hover,.photo-preview.cab-pick:focus-visible{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(249,203,76,.35);outline:none;}
.photo-preview.cab-pick .cab-pick-in{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink);font-size:12px;font-weight:800;text-align:center;padding:6px;}
.photo-preview.cab-pick .cab-pick-in svg{width:22px;height:22px;}
/* warnings and status tags: softer corners, wrap instead of clipping */
.status-pill,.pill,.tag-ai,.warn-tag,.count,.lock-tag,.draft-tag{border-radius:8px;white-space:normal;line-height:1.3;text-align:left;}
.verify-banner,.error-banner,.plan-note,.rv-note,.rv .warn,.rv.it .warn,.rv-warn,.note-rev,.cab-addcard,.bulk-row{border-radius:12px;}
.loc-legal summary .status-pill{display:inline-block;margin-top:4px;}

.cab-nav a.locked{opacity:.75;}
.cab-nav a .lock{margin-left:auto;display:inline-flex;opacity:.7;}
.cab-nav a .lock svg{width:12px;height:12px;}
.cab-nav a .tab-badge+ .lock{margin-left:6px;}

/* task landing highlight */
.cab-flash{animation:adFlash 3.5s ease-out;border-radius:14px;}
@keyframes adFlash{0%{box-shadow:0 0 0 4px rgba(249,203,76,.75);background-color:#FFF7D6;}70%{box-shadow:0 0 0 4px rgba(249,203,76,.45);background-color:#FFF9E3;}100%{box-shadow:0 0 0 0 rgba(249,203,76,0);background-color:transparent;}}
@media(prefers-reduced-motion:reduce){.cab-flash{animation:none;box-shadow:0 0 0 3px rgba(249,203,76,.6);}}

/* ---- «Как сейчас выглядит сайт» on the home screen ---- */
.hm-look .hm-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;}
.hm-look .tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.hm-look .seg{display:inline-flex;border:1px solid var(--line-2,#E3DCCB);border-radius:999px;overflow:hidden;}
.hm-look .seg button{border:0;background:#fff;padding:6px 12px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;font-family:inherit;}
.hm-look .seg button.on{background:var(--ink);color:#fff;}
.hm-lookbody[data-look="desk"] .look-phone{display:none;}
.hm-lookbody[data-look="phone"] .look-desk{display:none;}
.hm-look .frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -30px rgba(24,32,48,.45);}
.hm-look .frame .bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--line);background:#FAF8F2;font-size:12px;color:var(--muted);}
.hm-look .frame .bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2,#E3DCCB);}
.hm-look .frame .bar span{margin-left:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 10px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hm-look .scr{position:relative;overflow:hidden;background:#fff;}
.hm-look .frame .scr{height:580px;}
.hm-look .scr iframe{display:block;border:0;width:1440px;height:580px;transform-origin:0 0;}
.hm-look .look-phone{padding:6px 0 2px;}
.hm-look .phone{position:relative;width:320px;margin:0 auto;border-radius:34px;background:#1C1F26;padding:12px 10px;box-shadow:0 22px 44px -28px rgba(24,32,48,.7);}
.hm-look .phone .scr{height:640px;border-radius:24px;}
@media(max-width:820px){.hm-look .frame .scr{height:360px;}.hm-look .tools{width:100%;}}
@media(max-width:640px){.hm-look .phone{width:min(320px,100%);}}
.hm-look .hm-head>div:first-child{flex:1 1 360px;min-width:0;}

/* Поддержка: headset button in the header (icon only; opens support in Telegram; instant tooltip) */
.cab-help{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1.5px solid var(--ink);border-radius:999px;background:var(--card);color:var(--ink);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;}
.cab-help:hover,.cab-help:focus-visible{background:var(--ink);color:#fff;outline:none;}
.cab-help svg{display:block;}
/* On a phone the header is tight: «Помощь» lives only in the account menu there. */
@media(max-width:699px){.cab-help{display:none;}}
.cab-help{position:relative;}
.cab-help::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:5px 10px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:40;}
.cab-help:hover::after,.cab-help:focus-visible::after{opacity:1;}

/* ---- единая карточка «сайт опубликован / оплачен» в шапке (shell.js renderBillingChip) ---- */
.cab-site{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 14px 0 8px;border-radius:14px;border:1.5px solid transparent;font-family:inherit;text-align:left;white-space:nowrap;cursor:pointer;transition:transform .15s ease,filter .15s ease;}
.cab-site:hover{transform:translateY(-1px);filter:brightness(.97);}
.cab-site .bx{width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.cab-site .tx{display:flex;flex-direction:column;line-height:1.2;min-width:0;}
.cab-site .t1{font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:5px;}
.cab-site .t2{font-size:11.5px;font-weight:600;}
.cab-site .low{color:#B42318;font-weight:800;}
.cab-site .arw{display:inline-block;animation:adsNudge 1s ease-in-out infinite;}
/* unpublished: a pleasant green (owner, 2026-10-18 - red read as an error), the ring still pulses */
.cab-site-unpub{background:#E5F5EA;color:#1F6B42;border-color:#BFE3CB;animation:adsRing 1.7s ease-out infinite;}
.cab-site-unpub .bx{background:#2F7D4F;color:#fff;}
.cab-site .t1m{display:none;}
.cab-site-live{background:#E5F5EA;color:#1F6B42;border-color:#BFE3CB;}
.cab-site-live .bx{background:#2F7D4F;color:#fff;}
.cab-site-live .spk{color:#BA7517;animation:adsTwinkle 1.8s ease-in-out infinite;}
.cab-site-fail{background:#B42318;color:#fff;}
.cab-site-fail .bx{background:rgba(255,255,255,.2);color:#fff;}
@keyframes adsRing{0%{box-shadow:0 0 0 0 rgba(47,125,79,.45)}100%{box-shadow:0 0 0 13px rgba(47,125,79,0)}}
@keyframes adsTwinkle{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@keyframes adsNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@media(max-width:1099px) and (min-width:700px){.cab-site .t2{display:none;}.cab-site{height:36px;}}
@media(max-width:699px){
  .cab-site{width:36px;height:36px;padding:0;justify-content:center;gap:0;border-radius:50%;}
  .cab-site .tx{display:none;}
  .cab-site .bx{width:100%;height:100%;border-radius:50%;}
  /* phone: the unpublished state keeps a word, «Опубликовать», not just an icon (owner, 2026-10-18) */
  .cab-site-unpub{width:auto;height:36px;padding:0 12px 0 4px;gap:7px;border-radius:999px;justify-content:flex-start;}
  .cab-site-unpub .bx{width:28px;height:28px;}
  .cab-site-unpub .tx{display:flex;}
  .cab-site-unpub .t1d,.cab-site-unpub .t2{display:none;}
  .cab-site-unpub .t1m{display:inline;}
}
#adminContent{overflow-anchor:none;}
@media(prefers-reduced-motion:reduce){.cab-site-unpub,.cab-site .arw,.cab-site-live .spk{animation:none;}}

/* ---- «Цветовая схема» on the home screen ---- */
.hm-scheme .sch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.sch{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:10px;cursor:pointer;font-family:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s;}
.sch:hover{border-color:var(--ink);}
.sch.on{border-color:var(--ink);box-shadow:0 0 0 3px rgba(31,63,115,.18);}
.sch:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
.sch b{font-size:14px;margin-top:8px;}
.sch-hint{font-size:12px;color:var(--muted);}
.sch-prev{position:relative;display:block;width:100%;height:84px;border-radius:9px;border:1px solid rgba(0,0,0,.08);overflow:hidden;}
.sch-prev i{position:absolute;display:block;}
.sch-av{left:10px;top:12px;width:22px;height:22px;border-radius:50%;}
.sch-l1{left:40px;top:15px;width:44%;height:6px;border-radius:3px;}
.sch-l2{left:40px;top:27px;width:30%;height:5px;border-radius:3px;opacity:.45;}
.sch-btn{left:10px;bottom:12px;width:38%;height:16px;border-radius:4px;}
.sch-chip{right:10px;bottom:12px;width:30%;height:16px;border-radius:999px;}
.sch.on::after{content:"";}
@media(max-width:820px){.hm-scheme .sch-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* 2026-10-07: «Кредиты» moved to the bottom of «Тариф» */
.cab-credits-bottom{margin-top:22px;gap:8px;}
.cab-credits-bottom .cr-title{font-size:20px;margin:2px 0 0;font-weight:700;}
.cab-credits-bottom .cr-title b{font-family:'Montserrat',sans-serif;font-weight:900;}
.cab-credits-bottom .cr-explain{background:var(--clay-tint);border-radius:12px;padding:11px 14px;font-size:13.5px;line-height:1.55;color:var(--ink);max-width:640px;}
.cab-credits-bottom .cr-add{align-self:flex-start;margin-top:4px;}
.cab-credits-bottom .packs{margin-top:4px;align-items:center;}
.cab-credits-bottom .packs[hidden]{display:none;}
.cab-credits-bottom .packs .btn b{font-weight:800;}
.cab-credits-bottom .packs .btn span{color:var(--muted);font-weight:600;margin-left:4px;}
.cab-credits-bottom .cr-rate{font-size:12px;color:var(--muted);margin-left:6px;}

/* Информер о перебоях инфраструктуры (INFRA_NOTICE), кабинет */
.infra-notice{background:#FEF6E0;border:1px solid #F7C93F;border-radius:12px;padding:14px 16px;margin:16px 0;color:#1F3F73;font-size:14px;line-height:1.55;}
.infra-notice-main b{display:block;font-size:15px;margin-bottom:3px;}
.infra-notice-ok{margin-top:10px;padding-top:10px;border-top:1px solid #F7C93F;font-size:13px;color:#2F7D4F;font-weight:600;}

/* «Пригласить коллегу» (sections.js renderReferral) */
.rf-lbl{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:20px 0 8px;}
.rf-msg{display:block;width:100%;min-height:190px;box-sizing:border-box;border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;font:inherit;line-height:1.5;resize:vertical;background:#FFFDF6;color:var(--text);}
.rf-msg:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px rgba(249,203,76,.25);}
.rf-ch{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;}
.rf-ch .btn{justify-content:center;width:100%;}
.rf-link{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.rf-url{flex:1;min-width:220px;background:#E9EEF7;border:1.5px solid #C9D5EA;border-radius:14px;padding:12px 16px;font-weight:700;color:var(--ink);font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0;}
.rf-stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;}
.rf-stat b{display:block;font:800 28px/1.15 'Montserrat',sans-serif;color:var(--ink);}
.rf-stat span{font-size:13px;color:var(--muted);font-weight:600;}
.rf-stat.hl{background:#E5F5EA;border-color:#BFE3C9;}
.rf-stat.hl b{color:#1F7A3A;}
.rf-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);}
.rf-row:first-child{border-top:0;}
.rf-ava{width:38px;height:38px;border-radius:50%;background:#E9EEF7;color:var(--ink);font-weight:800;font-size:13px;display:grid;place-items:center;flex:none;text-transform:uppercase;}
.rf-who{flex:1;min-width:0;}
.rf-who b{display:block;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rf-who small{font-size:13px;color:var(--muted);}
.rf-pill{border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:800;white-space:nowrap;}
.rf-pill.paid{background:#E5F5EA;color:#1F7A3A;}
.rf-pill.trial{background:#FFF8D0;color:#7A6400;border:1px solid #F0D84A;}
.rf-pill.building,.rf-pill.void{background:var(--paper,#F4EFE3);color:var(--muted);}
.rf-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:rf;}
.rf-steps div{position:relative;padding-left:44px;min-height:32px;}
.rf-steps div:before{counter-increment:rf;content:counter(rf);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--clay);color:var(--ink);font-weight:900;display:grid;place-items:center;}
.rf-steps b{display:block;color:var(--ink);}
.rf-steps span{font-size:13px;color:var(--muted);}
@media(max-width:720px){.rf-stats,.rf-steps{grid-template-columns:1fr;}.rf-ch{grid-template-columns:1fr 1fr;}}

/* iPhone-style publish switch: one control instead of the «опубликовано» pill + «Снять с публикации» button. */
.pub-switch{display:inline-flex;align-items:center;gap:10px;padding:2px 0;border:0;background:none;font:inherit;font-size:.86rem;font-weight:700;color:var(--ink-soft,#5b6577);cursor:pointer;-webkit-tap-highlight-color:transparent;}
.pub-switch .btn-spinner{display:none;}
.pub-track{position:relative;flex:0 0 auto;width:48px;height:28px;border-radius:999px;background:#c9ced6;transition:background .2s ease;}
.pub-knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s ease;}
.pub-switch.on .pub-track{background:#34c759;}
.pub-switch.on .pub-knob{transform:translateX(20px);}
.pub-switch.on .pub-lbl{color:#1f7a3a;}
.pub-switch.is-loading{opacity:.6;pointer-events:none;}
.pub-switch:focus-visible .pub-track{outline:2px solid #1f3f73;outline-offset:2px;}
@media (prefers-reduced-motion:reduce){.pub-track,.pub-knob{transition:none;}}

/* «Предпросмотр сайта» window */
.site-preview-dlg{width:min(1180px,96vw);height:min(86vh,900px);padding:0;border:0;border-radius:18px;overflow:hidden;display:none;flex-direction:column;}
.site-preview-dlg[open]{display:flex;}
.site-preview-dlg::backdrop{background:rgba(20,28,45,.55);}
.sp-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--card);}
.sp-seg{display:inline-flex;background:var(--line-soft);border-radius:12px;padding:3px;}
.sp-seg button{border:0;background:none;font:inherit;font-size:.85rem;font-weight:800;color:var(--muted);padding:7px 13px;border-radius:9px;cursor:pointer;}
.sp-seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12);}
.sp-close{margin-left:auto;}
.sp-stage{flex:1;min-height:0;background:#e9e4d3;display:flex;justify-content:center;overflow:auto;}
.sp-stage.scaled{justify-content:flex-start;overflow:hidden;}
.sp-frame{border:0;background:#fff;width:100%;height:100%;display:block;flex:0 0 auto;}
.sp-frame.phone{width:390px;max-width:100%;margin:14px 0;height:calc(100% - 28px);border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.25);}
@media (max-width:640px){.site-preview-dlg{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;}.sp-seg button{padding:7px 10px;}}

/* «Рекомендации»: progress ring + one card per open task with coloured «Влияет на» tags */
.rec-hero{display:flex;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 22px;margin-bottom:16px;}
.rec-ring{position:relative;width:84px;height:84px;flex:0 0 84px;}
.rec-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:900;color:var(--dh-ink,#1F3F73);}
.rec-hero-t{font-weight:900;font-size:1.2rem;color:var(--dh-ink,#1F3F73);}
.rec-hero-s{color:var(--muted);font-size:.9rem;margin:2px 0 8px;}
.rec-legend{font-size:.78rem;color:var(--muted);line-height:2;}
.rec-list{display:flex;flex-direction:column;gap:12px;}
.rec-card{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:0 6px 18px rgba(60,48,20,.05);cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.rec-card:hover,.rec-card:focus-visible{border-color:var(--dh-ink,#1F3F73);box-shadow:0 10px 24px rgba(60,48,20,.09);outline:none;}
.rec-ic{flex:0 0 46px;height:46px;border-radius:14px;background:var(--sage-tint);color:var(--dh-ink,#1F3F73);display:flex;align-items:center;justify-content:center;}
.rec-ic svg{width:22px;height:22px;}
.rec-body{flex:1;min-width:0;}
.rec-t{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:1.02rem;color:var(--dh-ink,#1F3F73);}
.rec-t b{font-weight:900;}
.rec-cnt{font-size:.78rem;font-weight:800;color:var(--muted);}
.rec-eff{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px;}
.rec-eff-lbl{font-size:.74rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:2px;}
.rec-tag{display:inline-block;font-size:.72rem;font-weight:800;border-radius:999px;padding:3px 10px;}
.rec-t-book{background:#FBF3D0;color:#8A6508;}
.rec-t-trust{background:#E4F4E8;color:#1F6B36;}
.rec-t-seo{background:#E4ECFB;color:#2F4B9A;}
.rec-t-stat{background:#EFE5FA;color:#6A3FA8;}
.rec-why{margin:8px 0 0;font-size:.9rem;line-height:1.5;color:var(--ink-soft);}
.rec-why span{font-weight:800;color:var(--dh-ink,#1F3F73);}
.rec-do{margin:4px 0 0;font-size:.84rem;line-height:1.45;color:var(--muted);}
.rec-act{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto;}
.rec-time{font-size:.78rem;font-weight:700;color:var(--faint);}
.rec-btn{display:inline-flex;align-items:center;gap:6px;background:var(--clay);color:var(--ink);font-weight:900;font-size:.9rem;border-radius:12px;padding:9px 14px;white-space:nowrap;}
.rec-done{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 18px;}
.rec-done summary{cursor:pointer;font-weight:800;color:var(--muted);}
.rec-done ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 18px;}
.rec-done li{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--ink-soft);}
.rec-done li svg{color:#1F6B36;flex:0 0 auto;}
@media (max-width:640px){.rec-hero{flex-direction:column;align-items:flex-start;}.rec-card{flex-wrap:wrap;}.rec-act{flex-direction:row;align-items:center;width:100%;justify-content:space-between;}}

/* ---- special offer banner (2026-10-19, src/offers.ts) ---- */
.offer-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 16px;padding:16px 18px;border-radius:16px;background:linear-gradient(110deg,#1F3F73 0%,#2B5596 100%);color:#fff;box-shadow:0 14px 30px -18px rgba(31,63,115,.6);}
.offer-banner .ob-tx{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 320px;}
.offer-banner .ob-tag{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.02em;background:#F9CB4C;color:#1F3F73;border-radius:999px;padding:3px 10px;}
.offer-banner b{font-size:18px;line-height:1.3;}
.offer-banner .ob-sub{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.85);}
.offer-banner .ob-go{white-space:nowrap;}
@media(max-width:600px){.offer-banner .ob-go{width:100%;}}

/* ---- «Подтвердить» / «Подтвердить всё» are green, not yellow (owner, 2026-10-19): yellow stays for publish/pay actions ---- */
.btn-primary[data-rv-ok], .bulk-row .btn-primary, #photoConfirm,
.btn-primary[data-spec-confirm], .btn-primary[data-fact-confirm], .btn-primary[data-tl-confirm], .btn-primary[data-loc-confirm],
.btn-primary[data-rv-confirm], .btn-primary[data-vid-confirm], .btn-primary[data-svc-confirm] {
  /* soft emerald gradient with a light top edge (owner, 2026-10-19: «приятный современный градиент») */
  background:linear-gradient(135deg,#3FA66B 0%,#2F7D4F 55%,#24684A 100%);border-color:transparent;color:#fff;
  box-shadow:0 6px 16px -8px rgba(36,104,74,.55),inset 0 1px 0 rgba(255,255,255,.22);
  transition:filter .15s ease,box-shadow .15s ease,transform .15s ease;
}
.btn-primary[data-rv-ok]:hover, .bulk-row .btn-primary:hover, #photoConfirm:hover,
.btn-primary[data-spec-confirm]:hover, .btn-primary[data-fact-confirm]:hover, .btn-primary[data-tl-confirm]:hover, .btn-primary[data-loc-confirm]:hover,
.btn-primary[data-rv-confirm]:hover, .btn-primary[data-vid-confirm]:hover, .btn-primary[data-svc-confirm]:hover {
  background:linear-gradient(135deg,#46B474 0%,#33885A 55%,#286F4F 100%);border-color:transparent;color:#fff;
  box-shadow:0 10px 22px -10px rgba(36,104,74,.6),inset 0 1px 0 rgba(255,255,255,.28);transform:translateY(-1px);
}
.btn-primary[data-rv-ok]:disabled, #photoConfirm:disabled { background:linear-gradient(135deg,#DCEDE2,#CFE3D6);border-color:transparent;color:#6E8C79;box-shadow:none;transform:none; }
/* a fully checked section of «Проверка» takes half the vertical space it used to */
.rv-sec.is-done .rv-decided{margin-bottom:0;}
.rv-feed > .rv-sec.is-done + .rv-sec{margin-top:9px;}
