/* Кабинет: пункты меню «Ещё», ссылки подвала, баннер паузы, аватар, страницы настроек, форм и правил. Дизайн «Б». */

/* Меню «Ещё» (#slot-menu): значок + подпись, строки как у остальных пунктов */
.pm-list > .cab-mi { order: 6; display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 4px; border: 0; border-top: 1px solid var(--line-2);
  background: none; color: var(--ink); font: 700 15px/1.2 var(--body); text-decoration: none; text-align: left; cursor: pointer; width: 100%; }
.pm-list > .cab-mi:hover { color: var(--yes-solid); }
.pm-list > .cab-mi svg { width: 20px; height: 20px; flex: none; color: var(--ink-2); }
.pm-list > #cab-mi-settings { order: 1; }
.pm-list > #cab-mi-wallet { order: 4; }
.pm-list > #cab-mi-community { order: 9; }

/* Подвал: правила и справка */
.cab-foot { display: flex; flex-wrap: wrap; gap: 0 4px; margin: 0 -8px; }
.cab-foot a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; color: var(--dark-ink-2); font: 600 14px var(--body); text-decoration: none; border-radius: 8px; }
.cab-foot a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--lime); text-underline-offset: 5px; }

/* Баннер «вы на паузе» */
.cab-rg { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 12px 0; padding: 14px 18px; border-radius: 16px; background: var(--no); color: var(--no-ink); }
.cab-rg p { margin: 0; flex: 1 1 240px; font-weight: 700; }
.cab-rg a { color: var(--no-ink); font-weight: 800; }
.cab-rem-stop { text-align: center; }

/* Аккаунт: вход по телефону и ссылка на настройки */
.cab-ph-ch { display: flex; gap: 16px; font-weight: 600; }
.cab-ph-ch label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; }
.cab-acc-more { margin: 4px 0 0; font-weight: 700; }

/* Аватар-инициалы: 8 цветов, белый текст (контраст ≥ 4.5:1) */
.cab-av { display: inline-grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 18px; color: #fff; font: 800 20px/1 var(--body); letter-spacing: -.02em; }
.cab-av.big { width: 72px; height: 72px; border-radius: 22px; font-size: 26px; }
.cab-av.c0 { background: #0A7C4E; } .cab-av.c1 { background: #C2410C; } .cab-av.c2 { background: #1E40AF; } .cab-av.c3 { background: #5B21B6; }
.cab-av.c4 { background: #101613; color: var(--lime); } .cab-av.c5 { background: #0E7490; } .cab-av.c6 { background: #BE185D; } .cab-av.c7 { background: #9A330A; }
.cab-tag { color: var(--ink-2); font-weight: 700; }
.cab-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.cab-links a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 12px; border-radius: 10px; background: var(--chip); color: var(--ink); font-weight: 700; font-size: 14px; text-decoration: none; }
.cab-links a:hover { background: var(--line-2); color: var(--ink); }
.soc-prof .cab-who { display: flex; align-items: center; gap: 14px; }

/* Страницы кабинета: колонка ~640px, карточки разделов */
.cab-main { max-width: 680px; }
.cab-main h1 { font: 800 30px/1.15 var(--body); margin: 8px 0 6px; letter-spacing: -.02em; }
.cab-lead { margin: 0 0 18px; color: var(--ink-2); font-weight: 500; }
.cab-card { background: var(--surface); border: 1px solid var(--card-line); border-radius: 22px; padding: 20px; margin: 14px 0; }
.cab-card h2 { font: 800 20px/1.2 var(--body); margin: 0 0 4px; }
.cab-card > p { margin: 0 0 12px; color: var(--ink-2); font-size: 15px; }
.cab-card.danger { border-color: #F3C5AE; background: #FFF8F4; }
.cab-form { display: grid; gap: 14px; }
.cab-f { display: grid; gap: 6px; }
.cab-f > label, .cab-f > .cab-l { font-weight: 700; font-size: 15px; }
.cab-f small { color: var(--ink-2); font-size: 13px; }
.cab-f input[type=text], .cab-f input[type=email], .cab-f input[type=date], .cab-f input[type=number], .cab-f input[type=url], .cab-f select, .cab-f textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; font: inherit; min-height: 50px; background: var(--surface); color: var(--ink); }
.cab-f textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.cab-f input:focus, .cab-f select:focus, .cab-f textarea:focus { border-color: var(--yes-solid); outline: none; box-shadow: 0 0 0 3px rgba(10, 124, 78, .18); }
.cab-f [aria-invalid="true"] { border-color: var(--no-solid); }
.cab-pre { display: flex; align-items: stretch; }
.cab-pre > span { display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-right: 0; border-radius: 14px 0 0 14px; background: var(--chip); font-weight: 700; color: var(--ink-2); }
.cab-pre > input { border-radius: 0 14px 14px 0 !important; }
.cab-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 520px) { .cab-grid2 { grid-template-columns: minmax(0, 1fr); } }
.cab-colors { display: flex; flex-wrap: wrap; gap: 8px; border: 0; margin: 0; padding: 0; }
.cab-colors legend { font-weight: 700; font-size: 15px; margin-bottom: 6px; padding: 0; }
.cab-colors label { position: relative; cursor: pointer; }
.cab-colors input { position: absolute; opacity: 0; width: 44px; height: 44px; margin: 0; cursor: pointer; }
.cab-colors .cab-av { width: 44px; height: 44px; border-radius: 14px; font-size: 15px; }
.cab-colors input:checked + .cab-av { box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px var(--ink); }
.cab-colors input:focus-visible + .cab-av { outline: 2px solid var(--focus); outline-offset: 4px; }
.cab-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border: 0; border-radius: 14px; background: var(--dark); color: #fff;
  font: 800 15px/1.2 var(--body); cursor: pointer; text-decoration: none; }
.cab-btn:hover { background: var(--ink-3); color: #fff; }
.cab-btn:disabled { background: var(--line); color: var(--ink-2); cursor: wait; }
.cab-btn.ghost { background: var(--chip); color: var(--ink); }
.cab-btn.ghost:hover { background: var(--line-2); }
.cab-btn.danger { background: var(--no-solid); }
.cab-btn.danger:hover { background: var(--no-ink); }
.cab-btn.wa { background: #1B7F4A; }
.cab-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cab-msg { margin: 0; font-weight: 700; min-height: 1.5em; }
.cab-msg.ok { color: var(--yes-ink); } .cab-msg.bad { color: var(--no-ink); }
.cab-periods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; border: 0; margin: 0; padding: 0; }
@media (max-width: 520px) { .cab-periods { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cab-periods legend { font-weight: 700; font-size: 15px; margin-bottom: 6px; padding: 0; }
.cab-periods label { display: grid; place-items: center; min-height: 48px; border: 1px solid var(--line); border-radius: 12px; font-weight: 800; cursor: pointer; text-align: center; padding: 4px; }
.cab-periods input { position: absolute; opacity: 0; pointer-events: none; }
.cab-periods label:has(input:checked) { background: var(--dark); color: #fff; border-color: var(--dark); }
.cab-periods label:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
.cab-check { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; min-height: 44px; }
.cab-check input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: var(--ink); }
.cab-state { padding: 12px 14px; border-radius: 14px; background: var(--paper); font-weight: 700; margin: 0 0 12px; }
.cab-state.warn { background: var(--no); color: var(--no-ink); }
.cab-list { list-style: none; margin: 0; padding: 0; }
.cab-list li { padding: 14px 0; border-top: 1px solid var(--line-2); display: grid; gap: 4px; }
.cab-list li:first-child { border-top: 0; }
.cab-list .q { font-weight: 700; overflow-wrap: anywhere; white-space: pre-line; }
.cab-list .meta { font-size: 13px; color: var(--ink-2); font-weight: 600; }
.cab-list .reply { background: var(--paper); border-radius: 12px; padding: 10px 12px; font-size: 15px; white-space: pre-line; }
.cab-st { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 7px; font-size: 12px; font-weight: 800; background: var(--chip); color: var(--ink-3); }
.cab-st.accepted, .cab-st.done, .cab-st.answered { background: var(--yes); color: var(--yes-ink); }
.cab-st.rejected, .cab-st.closed { background: var(--line-2); color: var(--ink-2); }
.cab-empty { color: var(--ink-2); }
.cab-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.cab-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--chip); color: var(--ink); font-weight: 700; font-size: 14px; text-decoration: none; }
.cab-nav a:hover { background: var(--line-2); color: var(--ink); }

/* Правила и справка (info.js) */
.info-main { max-width: 760px; }
.info-main h1 { font: 800 34px/1.12 var(--body); margin: 8px 0 6px; letter-spacing: -.02em; }
.info-main .info-upd { color: var(--ink-2); font-size: 14px; font-weight: 600; margin: 0 0 18px; }
.info-main h2 { font: 800 21px/1.25 var(--body); margin: 30px 0 8px; }
.info-main p, .info-main li { font-size: 16px; line-height: 1.65; max-width: 70ch; }
.info-main ul { padding-left: 22px; }
.info-draft { padding: 12px 16px; border-radius: 14px; background: var(--sun-bg); border: 1px solid var(--sun-line); font-weight: 700; font-size: 14px; }
.info-main details { border-top: 1px solid var(--line-2); padding: 4px 0; }
.info-main details:last-of-type { border-bottom: 1px solid var(--line-2); }
.info-main summary { min-height: 52px; display: flex; align-items: center; font-weight: 800; font-size: 17px; cursor: pointer; list-style: none; gap: 12px; justify-content: space-between; }
.info-main summary::-webkit-details-marker { display: none; }
.info-main summary::after { content: '+'; flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--chip); font-weight: 700; }
.info-main details[open] summary::after { content: '−'; }
.info-main details p { margin: 0 0 14px; color: var(--ink-3); }
.info-ph { background: var(--sun-bg); border-radius: 4px; padding: 0 4px; font-weight: 700; }
