.hidden{display:none!important}
.cc-meta{
  font-size:13px;
  opacity:.9;
}

.cc-page{padding:18px;min-height:560px}
@media (max-width: 900px){.cc-page{min-height:520px}}

.cc-phase-row{display:flex;align-items:flex-start;gap:12px;padding:6px 0}
.cc-phase-title{font-weight:800;color:#043D56;min-width:64px}
.cc-phase-pills{display:flex;flex-wrap:wrap;gap:8px}
.cc-dashGrid{
  display:flex;
  gap:12px;
  align-items:stretch;
  margin-bottom:12px;
}
.cc-dashTile{
  flex:1 1 320px;
  border:1px solid #e6eef3;
  border-radius:14px;
  padding:12px 12px;
  background:#fff;
}
.cc-dashTitle{
  font-weight:800;
  color:#043D56;
  margin-bottom:8px;

  display:flex;
  align-items:center;
  gap:8px;
}

.cc-dashTitleIco{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#043D56;
  opacity:.9;
}

.cc-dashTitleIco svg{
  width:16px;
  height:16px;
  display:block;
}

.cc-dashLine{
  font-size:13px;
  color:#2b3b45;
  margin-bottom:8px;
}

.cc-dashList{
  margin:0;
  padding-left:18px;
  color:#2b3b45;
  font-size:13px;
}
.cc-dashList li{ margin:4px 0; }
/* ===== Progress Rings (Dashboard "Что завершено") ===== */
.cc-progressWrap{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.cc-progressMain{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px;
}

.cc-progressSide{
  flex:1 1 auto;
  min-width:0;
}

.cc-progressTitle{
  font-weight:800;
  color:#043D56;
  font-size:13px;
}

.cc-progressMeta{
  margin-top:2px;
  font-size:13px;
  color:#2b3b45;
  opacity:.92;
}

.cc-progressMiniGrid{
  margin-top:10px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}

.cc-ringSvg{ display:block; }

.cc-ringTrack{
  fill:none;
  stroke:#dfeaf2; /* трек как бордеры/нейтральный голубовато-серый */
}

.cc-ringProg{
  fill:none;
  stroke: var(--cb-green, #46b16f); /* фирменный зелёный; если есть переменная — используем её */
  stroke-linecap: round;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset .85s ease;
}

.cc-ringText{
  font-weight:900;
  font-size:18px;
  fill:#043D56;
}

.cc-ringMini{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0;
}

.cc-ringMiniIco{ flex:0 0 auto; }

.cc-ringMiniTxt{ min-width:0; }
.cc-ringMiniTitle{
  font-size:12px;
  font-weight:800;
  color:#043D56;
  line-height:1.1;
}
.cc-ringMiniSub{
  margin-top:2px;
  font-size:12px;
  color:#6b7c86;
}

/* Mobile: кольцо сверху, затем мини-сетка 2×2 */
@media (max-width: 520px){
  .cc-progressWrap{
    flex-direction:column;
    align-items:stretch;
  }
  .cc-progressMain{
    justify-content:flex-start;
  }
}
.cc-dashDivider{
  height:1px;
  background:#e6eef3;
  margin:10px 0;
}

.cc-miniGrid{
  display:flex;
  gap:12px;
  align-items:stretch;
  flex-wrap:wrap;
}

.cc-miniCard{
  flex: 1 1 340px;
  min-width: 280px;
  padding:12px 12px;
}
.cc-miniTitle{
  font-weight:800;
  color:#043D56;
  margin-bottom:8px;
}

.cc-miniTitleRow{
  display:flex;
  align-items:center;
  gap:8px;
}

.cc-miniTitleIco{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#043D56;
  opacity:.9;
}

.cc-miniTitleIco svg{
  width:16px;
  height:16px;
  display:block;
}
.cc-miniLine{ font-size:13px; color:#2b3b45; margin-bottom:6px; }
.cc-miniK{ font-weight:700; color:#043D56; }

.cc-miniDescShort{
  font-size:13px;
  color:#2b3b45;
  opacity:.9;
  margin-top:2px;
  line-height:1.35;

  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;

  overflow-wrap:anywhere;
  word-break:break-word;
}

.cc-miniEmpty{
  font-size:13px;
  color:#2b3b45;
  opacity:.75;
}

.cc-miniRow{ display:flex; gap:10px; align-items:flex-start; }

.cc-miniImgWrap{
  flex:0 0 30%;
  max-width:120px;
  aspect-ratio:1 / 1;

  border-radius:12px;
  background:#f1f3f5;
  border:1px solid #e6eef3;
  overflow:hidden;

  display:flex;
  align-items:center;
  justify-content:center;
}

.cc-miniImg{ width:100%; height:100%; object-fit:cover; display:block; }

.cc-miniImgPh{
  color:#8aa0ad;
  font-weight:800;
  font-size:20px;
}

.cc-miniBody{ min-width:0; flex:1; }

.cc-miniToggle{
  margin-top:6px;
  padding:0;
  border:0;
  background:transparent;
  color:#043D56;
  font-weight:700;
  font-size:13px;
  cursor:pointer;

  display:inline-flex;
  align-items:center;
  gap:6px;
}

.cc-miniToggle .cc-acc-chev{
  display:inline-block;
  transition:transform .18s ease;
}

.cc-miniToggle[aria-expanded="true"] .cc-acc-chev{
  transform:rotate(180deg);
}

.cc-miniDescFull{
  margin-top:6px;
  font-size:13px;
  color:#2b3b45;
  opacity:.92;
  line-height:1.35;

  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (max-width: 900px){
  .cc-miniGrid{ flex-direction:column; }
}
@media (max-width: 480px){
  .cc-miniImgWrap{ flex-basis:96px; max-width:96px; }
}
.cc-nextMain{
  font-size:13px;
  color:#043D56; opacity:.9;
  margin-bottom:6px;
}
.cc-nextAccess{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #e6f0f4;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cc-nextAccess::before{
  content:"";
  position:absolute;
  left:12px;
  top:22px;
  bottom:14px;
  width:2px;
  background:#e6f0f4;
  border-radius:2px;
  pointer-events:none;
}
.cc-nextRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  color:#043D56;
  position:relative;
  z-index:1;
}

.cc-nextLeft{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700; /* чуть жирнее как ты просил */
}

.cc-nextIco{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#043D56;
  background:#f3f8fb;
  border:1px solid #e6f0f4;
  border-radius:10px;
  opacity:.95;
}


.cc-nextIco svg{ width:16px; height:16px; display:block; }
.cc-nextIco svg *{ fill:currentColor !important; stroke:currentColor !important; }
.cc-nextRight{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.cc-nextStatus{
  font-size:12px;
  font-weight:600;
  color:#6b7a86;
}
.cc-nextStatus.ok{ color:#043D56; }   /* нейтрально */
.cc-nextStatus.no{ color:#7a8b98; }   /* серо */

.cc-nextIcon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cc-nextIcon svg{ width:18px; height:18px; }
.cc-nextIcon.ok{ color:#2E9E57; } /* аккуратный зелёный */
.cc-nextIcon.no{ color:#C24A4A; } /* аккуратный красный */

@media (max-width: 700px){.cc-phase-row{flex-direction:column;gap:6px}.cc-phase-title{min-width:0}}

.cc-skel, .cc-skel-pill{position:relative;overflow:hidden;background:#f1f3f5;border-radius:12px}
.cc-skel{height:14px;margin:8px 0}
.cc-skel-pill{display:inline-block;height:22px;width:92px;border-radius:999px;margin:4px 8px 4px 0}
.cc-skel::after, .cc-skel-pill::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,0.65),transparent);animation:ccShimmer 1.2s infinite}
.cc-skel-phase{width:56px;height:14px;margin-top:8px}
@keyframes ccShimmer{100%{transform:translateX(100%)}}
   

.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    @media (max-width: 900px){.plan-grid{grid-template-columns:1fr}}

/* Plan: Block A = hero-subcard */
.cc-planPage .plan-grid{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,3fr);
  grid-template-areas:
    "project duration"
    "goal goal";
  gap:14px;
  margin-top:0;
  align-items:end;
  width:100%;
}

.cc-planPage .plan-grid .cc-input,
.cc-planPage .plan-grid textarea,
.cc-planPage .plan-grid select{
  width:100%;
  min-width:0;
}
/* Plan: parameters section (no card, no shadow) */
.cc-planParams{
  margin-top:12px;
  padding:6px 0 14px;
  border-bottom:1px solid rgba(4,61,86,0.10);
}
.cc-planParamsTitle{
  font-weight:700;
  font-size:13px;
  color:#043d56;
  margin:0 0 4px;
}
.cc-planParamsHint{
  font-size:12px;
  color:#6b7280;
  margin:0 0 10px;
}
.cc-planPage .cc-label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#043d56;
  margin:0 0 6px;
  text-decoration:none;
}

.cc-planParams textarea,
.cc-planParams #plGoal{
  min-height:70px;
}
/* ===== Step layout fix ===== */

.cc-planPage .cc-stepGrid{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:14px;
  align-items:stretch;
}

.cc-planPage .cc-stepLeft textarea{
  min-height:120px;   /* высота = сроки + статус */
  resize:vertical;
}

.cc-planPage .cc-stepRight{
  display:flex;
  flex-direction:column;
  gap:14px;
}

@media (max-width:900px){
  .cc-planPage .cc-stepGrid{
    grid-template-columns:1fr;
  }
}
.cc-planPage .plan-grid > :nth-child(1){ grid-area:project; }
.cc-planPage .plan-grid > :nth-child(2){ grid-area:duration; }
.cc-planPage .plan-grid > :nth-child(3){ grid-area:goal; }

@media (max-width:900px){
  .cc-planPage .plan-grid{
    grid-template-columns:1fr;
    grid-template-areas:
  "project"
  "duration"
  "goal";
  }
  .cc-planPage .plan-grid > :nth-child(2){ justify-self:stretch; }
  .cc-planPage .plan-grid > :nth-child(2) .cc-input,
  .cc-planPage .plan-grid > :nth-child(2) select{ max-width:none; }

}

/* Auth (shadcn-like) */
#authPane{
  min-height: calc(100vh - 80px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 16px;

  /* фон как у референса */
  background:
    radial-gradient(1200px 500px at 0% 0%, rgba(255, 232, 199, 0.85) 0%, rgba(255, 232, 199, 0) 60%),
    radial-gradient(1000px 520px at 100% 0%, rgba(220, 241, 255, 0.95) 0%, rgba(220, 241, 255, 0) 62%),
    linear-gradient(180deg, #f5fbff 0%, #ffffff 70%);
  border-radius:28px;
}

.cc-authCard--shadcn{
  width:100%;
  max-width:460px;
  background:#fff;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  padding:22px;
}

.cc-authBrand{
  width:100%;
  max-width:260px;
  height:auto;
  display:block;
  margin:0 auto 14px;
}

.cc-authHead{
  text-align:center;
  margin-bottom:14px;
}

.cc-authTitle{
  font-weight:700;
  color:#0f172a;
  font-size:22px;
  line-height:1.2;
}

.cc-authHint{
  color:rgba(15,23,42,0.65);
  margin-top:6px;
  font-size:13px;
  line-height:1.4;
}

.cc-authGrid--shadcn{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
  align-items:stretch;
}

.cc-authCard--shadcn .cc-label{
  font-size:13px;
  font-weight:600;
  color:rgba(15,23,42,0.85);
  margin:0 0 6px;
}

.cc-authCard--shadcn .cc-input{
  width:100%;
  height:42px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.14);
  background:#fff;
  padding:10px 12px;
  outline:none;
  box-sizing:border-box;
}

.cc-authCard--shadcn .cc-input:focus{
  border-color: rgba(4,61,86,0.55);
  box-shadow: 0 0 0 4px rgba(4,61,86,0.18);
}

.cc-authAction{
margin-top:2px;
width:100%;
}

.cc-authCard--shadcn .cc-btn{
  width:100%;
  box-sizing:border-box;
}
/* Primary button (used for login) */
.cc-btn.cc-btn-primary{
  background:#043D56;
  border-color:#043D56;
  color:#fff;
}

.cc-btn.cc-btn-primary:hover{
  filter: brightness(0.96);
  box-shadow: 0 10px 22px rgba(4,61,86,0.22);
}

.cc-btn.cc-btn-primary:focus{
  outline:none;
  box-shadow: 0 0 0 4px rgba(4,61,86,0.22);
}

    .plan-table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(0,0,0,0.06)}
    table.plan-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px;background:#fff}
    table.plan-table th, table.plan-table td{padding:10px 10px;border-bottom:1px solid rgba(0,0,0,0.06);vertical-align:top}
    table.plan-table th{position:sticky;top:0;background:#fff;z-index:1}
    .plan-cell input,.plan-cell textarea{width:100%;box-sizing:border-box}
    .plan-cell textarea{min-height:52px;resize:vertical}
    .plan-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
    .bt-mini-error{background:#fff3f3;border:1px solid #ffd0d0;border-radius:14px;padding:12px;margin:12px 0}

/* Включает плавный скролл на всей странице */
html {
  scroll-behavior: smooth;
}

    #burnout-test {
      max-width: 960px;
      margin: 40px auto 80px;
      font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    /* единый стиль Montserrat внутри блока */
    #burnout-test * {
      font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

   
    .bt-start-content {
      max-width: 820px;
    }

    .bt-title {
      font-size: 36px;
      line-height: 1.25;
      font-weight: 700;
      color: #043D56;
      margin-bottom: 20px;
    }

    .bt-subtitle {
      font-size: 18px;
      line-height: 1.6;
      color: #043D56;
      margin-bottom: 24px;
    }

    .bt-list {
      list-style: disc;
      padding-left: 22px;
      margin: 0 0 28px 0;
      color: #043D56;
      font-size: 16px;
      line-height: 1.6;
    }

    .bt-list li + li {
      margin-top: 6px;
    }

    .bt-start-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 32px;
      border-radius: 999px;
      border: none;
      cursor: pointer;
      font-size: 16px;
      font-weight: 600;
      background-color: #043D56;
      color: #ffffff;
      box-shadow: 0 10px 24px rgba(4, 61, 86, 0.35);
      transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
    }

    .bt-start-btn:hover {
      background-color: #065078;
      transform: translateY(-1px);
      box-shadow: 0 14px 28px rgba(4, 61, 86, 0.4);
    }

    .bt-start-btn:active {
      transform: translateY(0);
      box-shadow: 0 8px 18px rgba(4, 61, 86, 0.3);
    }

    .bt-note {
      margin-top: 20px;
      font-size: 13px;
      line-height: 1.5;
      color: #6b7b88;
    }
#burnout-test .bt-answer-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 30px;
  border: 1px solid #cfe0ea;
  background: #ffffff;
  cursor: pointer;
  text-align: left;
}

#burnout-test .bt-answer-text {
  font-size: 16px; /* было ~15px, увеличили на 1px */
  line-height: 1.45;
}

#burnout-test .bt-answer-btn.active {
  background: #0b5c78;
  color: #ffffff;
  border-color: #0b5c78;
}


    /* Адаптив под мобильные */
    @media (max-width: 768px) {
      .bt-start {
        padding: 24px 20px;
        margin: 24px 16px;
        border-radius: 24px;
      }

      .bt-title {
        font-size: 26px;
      }

      .bt-subtitle {
        font-size: 16px;
      }

      .bt-list {
        font-size: 15px;
      }

      .bt-start-btn {
        width: 100%;
        justify-content: center;
      }
    }

    .bt-instruction {
      max-width: 960px;
      margin: 0 auto 12px;
      font-size: 14px;
      line-height: 1.5;
      color: #4b5563;
    }

    .bt-card {
      background: #ffffff;
      border-radius: 24px;
      box-shadow: 0 18px 45px rgba(4, 61, 86, 0.08);
      padding: 32px 28px;
      box-sizing: border-box;
    }

    .bt-start-card {
      text-align: center;
    }

    .bt-lead {
      margin: 0 0 20px;
      font-size: 16px;
      line-height: 1.6;
      color: #043d56;
    }

    .bt-primary-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 12px 28px;
      border-radius: 999px;
      border: none;
      cursor: pointer;
      font-size: 15px;
      font-weight: 600;
      background: linear-gradient(135deg, #043d56, #0b6f92);
      color: #ffffff !important;
      transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
      text-decoration: none;
      white-space: nowrap;
    }

    .bt-primary-btn span {
      color: #ffffff !important;
    }

    .bt-primary-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 25px rgba(4, 61, 86, 0.3);
      opacity: 0.95;
    }

    .bt-primary-btn:disabled {
      opacity: 0.5;
      cursor: default;
      box-shadow: none;
      transform: none;
    }

    .bt-btn-icon svg {
      width: 18px;
      height: 18px;
    }

    .bt-btn-icon svg path,
    .bt-btn-icon svg rect {
      fill: #ffffff;
      stroke: #ffffff;
      stroke-width: 1.6;
    }

    /* Скрыты по умолчанию, показываются классом bt-visible */
    .bt-survey,
    .bt-loading,
    .bt-result {
      display: none;
      margin-top: 24px;
    }

    .bt-visible {
      display: block !important;
    }

    .bt-hidden {
      display: none !important;
    }

    /* Прогресс-бар */
    .bt-progress {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 20px;
    }

    .bt-progress-bar {
      flex: 1;
      height: 6px;
      border-radius: 999px;
      background: #e6f0f4;
      overflow: hidden;
    }

    .bt-progress-fill {
      height: 100%;
      width: 0;
      border-radius: inherit;
      background: linear-gradient(90deg, #ffbd69, #f78c3a);
      transition: width 0.2s ease-out;
    }

    .bt-progress-text {
      font-size: 13px;
      color: #67839a;
      min-width: 60px;
      text-align: right;
    }
    /* Кнопка "Получить результат" рядом с прогресс-баром */

    .bt-progress-submit {
  font-size: 16px;
  padding: 12px 26px;
  font-weight: 600;
  border-radius: 12px;
  white-space: nowrap;
background: #D3D9DD; /* светло-серо-голубой */
  color: #7A8B98;      /* приглушённый серо-синий текст */
  border: 1px solid #C2C8CC;
  opacity: 0.9;
  transition: all 0.25s ease;
}

/* Состояние "Готово" — все 22 вопроса отвечены */
.bt-progress-submit.bt-ready {
  background: #043D56;  /* фирменный глубокий синий */
  color: #FFFFFF;
  border-color: #043D56;
  opacity: 1;
}

    @media (max-width: 768px) {
      .bt-progress {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 10px;
      }

      .bt-progress-submit {
        width: 100%;
        justify-content: center;
      }
    }

    /* Вопросы */
    .bt-question {
      padding: 18px 16px;
      border-radius: 18px;
      background: #f8fbfd;
      margin-bottom: 12px;
      border: 1px solid transparent;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .bt-question--error {
      border-color: #ef4444;
      box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.12);
    }

   .bt-question-text{
  font-size: 18px;
  font-weight: 600;   /* было слишком жирно */
  color: #043d56;
  margin-bottom: 10px;
}
/* ===== MBTI-2 / Big5 pill-scale (1–5) ===== */
.bt-answer-group{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.bt-answer-btn{
  height: 46px;              /* меньше */
  border-radius: 20px;       /* как в burnout */
  border: 1px solid #cfe0ea;
  background: #ffffff;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;           /* меньше */
  font-weight: 600;          /* не “жирнит” */
  color: #043d56;

  box-sizing: border-box;
  transition: background 0.15s ease,
              border-color 0.15s ease,
              color 0.15s ease,
              transform 0.1s ease;
}

.bt-answer-btn:hover{
  transform: translateY(-1px);
}

.bt-answer-btn.active{
  background: #0b5c78;       /* как в burnout (твоя тёмно-синяя) */
  border-color: #0b5c78;
  color: #ffffff;
}
.bt-answer-btn.bt-bonus-btn.active {
  background: #ff9f43;
  color: #fff;
  border-color: #ff9f43;
}

/* мобилка: чтобы влезало и было похоже на burnout */
@media (max-width: 520px){
  .bt-answer-group{
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3+2 */
  }
  .bt-answer-btn{
    height: 44px;
    font-size: 14px;
  }
}
.bt-scale-caption{
  display: flex;
  justify-content: space-between;  /* по бокам */
  margin-top: 10px;
  font-size: 12px;
  color: #6b7c8f;                  /* как в burnout (серо-синий) */
}

 
    /* Лоадер */
    .bt-loading {
      text-align: center;
    }

    .bt-spinner {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: 3px solid #e6f0f4;
      border-top-color: #043d56;
      margin: 18px auto 0;
      animation: bt-spin 1s linear infinite;
    }

    @keyframes bt-spin {
      to {
        transform: rotate(360deg);
      }
    }

    /* Иконки шкал */
    .bt-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 6px;
    }

    .bt-icon svg {
      width: 30px;
      height: 30px;
    }

    .bt-icon svg path,
    .bt-icon svg circle,
    .bt-icon svg rect {
      fill: currentColor;
      stroke: currentColor;
      stroke-width: 1.7;
    }

    .bt-icon-ex { color: #f97316; }  /* истощение */
    .bt-icon-de { color: #0ea5e9; }  /* деперсонализация */
    .bt-icon-pr { color: #10b981; }  /* профессионализм */

    /* Результаты */
    .bt-result-main {
      font-size: 16px;
      font-weight: 600;
      margin: 0 0 6px;
      color: #043d56;
    }

    .bt-result-summary {
      margin: 0 0 16px;
      font-size: 14px;
      color: #4d6275;
    }

    .bt-result-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 16px;
    }

    @media (max-width: 768px) {
      .bt-result-grid {
        grid-template-columns: 1fr;
      }
    }

    .bt-result-card {
      padding: 12px 14px;
      border-radius: 16px;
      background: #f3f3f3;
    }

    .bt-result-label {
      font-size: 13px;
      font-weight: 500;
      color: #043d56;
      margin-bottom: 4px;
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .bt-result-score {
      font-size: 13px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 6px;
    }

    .bt-badge {
      font-size: 11px;
      padding: 2px 8px;
      border-radius: 999px;
      font-weight: 600;
    }

    .bt-badge.b-low {
      background: #ecfdf3;
      color: #15803d;
    }

    .bt-badge.b-mid {
      background: #fef3c7;
      color: #92400e;
    }

    .bt-badge.b-high {
      background: #fef2f2;
      color: #b91c1c;
    }

    .bt-result-bar-bg {
      height: 6px;
      border-radius: 999px;
      background: #e5e7eb;
      overflow: hidden;
    }

    .bt-result-bar-fill {
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #ffbd69, #f97316);
    }

    .bt-result-bar-percent {
      margin-top: 4px;
      font-size: 11px;
      color: #6b7280;
    }

    .bt-interpret-block {
      margin-top: 8px;
    }

    .bt-interpret-title {
      font-size: 14px;
      font-weight: 600;
      margin: 4px 0 4px;
      color: #043d56;
      display: flex;
      align-items: center;
      gap: 4px;
    }

    .bt-interpret-text {
      font-size: 13px;
      color: #4b5563;
      margin: 0 0 4px;
    }

    .bt-interpret-generic {
      font-size: 13px;
      color: #4b5563;
      margin-top: 4px;
    }

    .bt-tg-text {
      font-size: 13px;
      color: #4d6275;
      margin: 0 0 10px;
    }

    .bt-telegram-card {
      margin-top: 16px;
      background: #f3f3f3;
      box-shadow: 0 0 40px rgba(4, 61, 86, 0.35);
    }

    .bt-consult-card {
      margin-top: 28px;
      background: #f3f3f3;
      box-shadow: 0 0 40px rgba(4, 61, 86, 0.35);
    }

    .bt-checkbox {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 13px;
      color: #4d6275;
      margin-bottom: 12px;
    }

    .bt-checkbox input {
      margin-top: 2px;
    }

    /* этот .bt-subtitle используется в блоке консультации */
    .bt-subtitle {
      margin: 8px 0 12px;
      font-size: 14px;
      font-weight: 500;
      color: #043d56;
    }

    @media (max-width: 767px) {
      #burnout-test {
        margin: 16px 0px 40px;
      }

      .bt-card {
        padding: 24px 20px;
      }

      .bt-card .bt-primary-btn {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        justify-content: center;
      }

      .bt-scale {
        column-gap: 18px;
        row-gap: 10px;
      }

      .bt-scale-btn {
        width: 40px;
        height: 40px;
      }
.bt-start {
  margin: 16px 0;
}
      /* Кнопки внутри карточек — во всю ширину карточки */
      .bt-card .bt-primary-btn {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
        white-space: normal;
        justify-content: center;
      }

      /* Стартовая кнопка «Начать тест» — тоже во всю ширину блока */
      .bt-start-btn {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
        white-space: normal;
        text-align: center;
      }
    }
.bt-success-box{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:#e8f7ef;
  border:1px solid #bfe6d3;
  border-radius:14px;
  padding:16px;
  margin:16px 0;
}

.bt-success-icon{
  min-width:28px;
  height:28px;
  border-radius:50%;
  background:#2bb673;
  color:#fff;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}


.bt-success-text{
  font-size:16px;
  line-height:1.5;
}
/* ===== универсальная сетка: кол-во колонок через CSS-переменную ===== */
/* ===== SCALE GRID (единый блок для всех тестов со шкалами) ===== */
.bt-answer-group{
  display: grid;
  grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}

/* 10 кнопок + бонус = 11 колонок */
.bt-answer-group.bt-cols-11{ --cols: 11; }

/* кнопки шкалы (цифры) */
.bt-answer-group .bt-answer-btn{
  height: 46px;
  border-radius: 20px;
  border: 1px solid #cfe0ea;
  background: #ffffff;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;
  font-size: 14px;
  font-weight: 600;
  color: #043d56;

  box-sizing: border-box;
  transition: background 0.15s ease,
              border-color 0.15s ease,
              color 0.15s ease,
              transform 0.1s ease;
}

.bt-answer-group .bt-answer-btn:hover{ transform: translateY(-1px); }

.bt-answer-group .bt-answer-btn.active{
  background: #0b5c78;
  border-color: #0b5c78;
  color: #ffffff;
}

/* бонус +6 */
.bt-answer-group .bt-answer-btn.bt-bonus{
  border: 2px dashed #ffbd69;
  color: #ffbd69;
  font-weight: 700;
}

.bt-answer-group .bt-answer-btn.bt-bonus.active{
  background: #ffbd69;
  border-color: #ffbd69;
  color: #000000;
}

/* заголовок секции (между частями теста) */
.bt-section-title{
  margin: 18px 0 10px;
  font-size: 16px;
  font-weight: 600;
  color: #043d56;
}

/* подписи шкалы по бокам (как burnout) */
.bt-scale-caption{
  display:flex;
  justify-content: space-between;
  margin-top: 10px;
  font-size: 12px;
  color: #6b7c8f;
}

/* mobile: чтобы 11 кнопок не превращались в “микротекст” */
@media (max-width: 520px){
  .bt-answer-group{ gap: 10px; }
  .bt-answer-group.bt-cols-11{ --cols: 6; } /* 2 ряда по 6/5 */
  .bt-answer-group .bt-answer-btn{
    height: 44px;
    font-size: 13px;
  }
}

/* VIA_10 mobile fix: 10 кнопок не должны вылезать за экран */
.bt-answer-group{
  width: 100%;
  box-sizing: border-box;
  grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr));
}

/* На узких экранах превращаем 10 в 5+5 */
@media (max-width: 520px){
  .bt-answer-group{
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
  }
  .bt-answer-btn{
    width: 100%;
    min-width: 0;
  }
}

/* Очень узкие экраны: 4 колонки (будет 3 ряда: 4+4+2) */
@media (max-width: 360px){
  .bt-answer-group{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Чтобы внутренняя сетка "лево/центр/право" не ломала ширину */
@media (max-width: 520px){
  .bt-question > div[style*="grid-template-columns: 1fr 2fr 1fr"]{
    grid-template-columns: 1fr !important;
    text-align: center;
    gap: 6px !important;
  }
  .bt-question > div[style*="grid-template-columns: 1fr 2fr 1fr"] > div{
    text-align: center !important;
  }
}

.bt-question-bonus-hint{
  outline: 2px solid #ffbd69;
  outline-offset: 6px;
  border-radius: 16px;
}
/* ===== Curator Console: action buttons ===== */

.cb-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.cb-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;

  padding:6px 10px;
  border-radius:999px;
  border:1px solid #cfe0ea;
  background:#ffffff;

  font-size:13px;
  font-weight:600;
  color:#043D56;
  cursor:pointer;
  text-decoration:none;

  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}

.cb-action-btn:hover{
  background:#f8fbfd;
  transform: translateY(-1px);
}

.cb-action-btn:active{
  transform:none;
}

.cb-action-btn--icon{
  padding:6px;
  width:34px;
  height:34px;
}

.cb-action-btn svg{
  width:18px;
  height:18px;
  display:block;
  fill:#043D56;
}
/* Curator Console: иконки действий (WhatsApp / Telegram) */
.cc-actions{
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:flex-start;
}

.cc-actions button {
  background: #f4f6f8;
  border-color: #dcdfe3;
  font-weight: 500;
}

.cc-linkbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px;
  border:0;
  background:transparent;
  border-radius:10px;
  cursor:pointer;
  text-decoration:none;
  transition: transform .12s ease, opacity .12s ease;
}

.cc-linkbtn:hover{
  background:#f8fbfd;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(4,61,86,0.08);
}

.cc-linkbtn:active{ transform:none; }

.cc-ico{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.cc-ico svg{
  width:22px;
  height:22px;
  display:block;
}

/* ===== Curator Console: base layout ===== */
.cc-wrap{ max-width:1200px; margin:24px auto; padding:0 14px; box-sizing:border-box; }

@media (max-width: 520px){
  .cc-wrap{ padding:0 6px; margin:12px auto; }
  .cc-wrap .bt-card{ padding:14px 10px; border-radius:22px; }
  .cc-page{ padding:10px; }
  .cc-wrap .cc-card{ padding:10px 12px; }
    /* Header (client console): actions above tabs; compact mobile sizing */
  .cc-bar{ gap:8px; }

  .cc-headActions{
    gap:8px;
    padding-bottom:8px;
  }

  .cc-headTabs{
    padding-top:8px; /* на мобиле меньше, чтобы не раздувать шапку */
  }

  .cc-headActions #btnReload,
  .cc-headActions #btnLogout{
    height:34px;
    padding:0 12px;
    border-radius:12px;
  }

  .cc-tab{
    height:36px;
    padding:0 12px;
    border-radius:12px;
  }

  .cc-headMeta{
    font-size:12px;
  }

  /* Dashboard tiles stack nicely */
  .cc-dashGrid{ flex-direction:column; }
  .cc-dashTile{ flex:1 1 auto; }

  .cb-card-h{ padding:10px 12px; }
  .cb-card-b{ padding:10px 12px; }
  .cc-muted{ color:#6b7c86; font-weight:400; font-size:12px; }

  /* как в консоли куратора: читаемый текст, без “переноса по буквам” */
  .cc-table th{ padding:10px 8px; font-size:14px; }
  .cc-table td{
    padding:10px 8px;
    font-size:14px;
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
  }
}

/* ===== Skills page ===== */
.cc-skillsPage{ display:flex; flex-direction:column; gap:18px; }
.cc-skillsGrid{ display:grid; grid-template-columns:1fr; gap:18px; }
.cc-skillsSection{ display:flex; flex-direction:column; gap:12px; }

.cc-skillsSectionHead{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  background:#f3f3f3;
  border-radius:20px;
  border:1px solid #e6f0f4;
}
.cc-skillsSectionHead.cc-exp-prof{ background:#eef7ff; border-color:#d6ecff; }
.cc-skillsSectionHead.cc-exp-sig{ background:#fff8e6; border-color:#ffe7ae; }

.cc-skillsSectionTitle{
  font-size:18px; font-weight:800; color:#043D56;
}

.cc-skillsBlockSummary{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  cursor:pointer; user-select:none; list-style:none;
}
.cc-skillsBlockSummary::-webkit-details-marker{ display:none; }

.cc-skillsBlockTitle{
  font-size:16px; font-weight:800; color:#043D56;
}

.cc-skillsBlockChevron{
  width:26px; height:26px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #E6EEF2; color:#043D56;
  transition:transform .18s ease;
  flex:0 0 auto;
}
.cc-skillsBlockChevron svg{ width:20px; height:20px; }

.cc-skillsBlockBody{ margin-top:10px; }
.cc-skillsBlock{ transition:box-shadow .18s ease, border-color .18s ease; }
.cc-skillsBlock:hover{ border-color:#cfe0ea; box-shadow:0 12px 28px rgba(4,61,86,.08); }
.cc-skillsLegendDetails{ transition:box-shadow .18s ease, border-color .18s ease; }
.cc-skillsLegendDetails:hover{ border-color:#cfe0ea; box-shadow:0 12px 28px rgba(4,61,86,.08); }
.cc-skillsLegendDetails:hover .cc-skillsLegendChevron{ background:#F2F7FA; border-color:#cfe0ea; }
.cc-skillsBlockSummary:hover .cc-skillsBlockChevron{ background:#F2F7FA; border-color:#cfe0ea; }

details[open].cc-skillsBlock .cc-skillsBlockChevron{ transform:rotate(180deg); }

.cc-skill-cardHead{ display:flex; flex-direction:column; gap:2px; margin-bottom:10px; }
.cc-skill-cardTitle{
  font-weight:800;
  font-size:16px;
  letter-spacing:.2px;
  text-transform:uppercase;
  color:#043D56;
}
.cc-skill-cardSub{
  font-size:13px;
  color:#043D56;
  opacity:.85;
}

.cc-skillsLegend{ padding:14px 16px; }
.cc-skillsLegendSummary{
  display:flex; align-items:center; justify-content:space-between;
  cursor:pointer; user-select:none;
  font-weight:800; color:#043D56;
  list-style:none;
}
.cc-skillsLegendHead{ display:flex; flex-direction:column; gap:2px; }
.cc-skillsLegendTitle{ font-size:16px; font-weight:800; color:#043D56; line-height:1.2; }
.cc-skillsLegendHint{ font-size:12.5px; font-weight:600; color:#6b7c86; line-height:1.2; }

.cc-skillsLegendSummary::-webkit-details-marker{ display:none; }
.cc-skillsLegendChevron{
  width:22px; height:22px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #E6EEF2;
  border-radius:999px;
  color:#043D56;
  transition:transform .18s ease;
}
details[open] .cc-skillsLegendChevron{ transform:rotate(180deg); }

.cc-skillsLegendBody{ margin-top:10px; display:grid; gap:8px; }
.cc-skillsLegendRow{ display:flex; align-items:flex-start; gap:10px; color:#043D56; font-size:13px; }

.cc-skillsTableWrap{ border:1px solid #E6EEF2; border-radius:14px; overflow:hidden; }
.cc-skillsTable{ width:100%; border-collapse:separate; border-spacing:0; }
.cc-skillsTable thead th{
  position:sticky; top:0; z-index:2;
  background:#fff;
}

.cc-compet{ display:inline-flex; gap:4px; align-items:center; }
.cc-skillLevel{ display:flex; justify-content:flex-start; }
.cc-competSeg{ width:18px; height:9px; border-radius:999px; background:#D7E1E7; }
.cc-competSeg.on.score-red{ background:#F8696B; }
.cc-competSeg.on.score-orange{ background:#FF8A3D; }
.cc-competSeg.on.score-yellow{ background:#FFBD69; }
.cc-competSeg.on.score-green{ background:#35B56A; }


@media (max-width:720px){
  .cc-skillsLegendRow{ align-items:center; }
  .cc-skillsTable thead{ display:none; }
  .cc-skillsTable, .cc-skillsTable tbody, .cc-skillsTable tr, .cc-skillsTable td{ display:block; width:100%; }
  .cc-skillsTable tr{ padding:10px 12px; border-top:1px solid #E6EEF2; }
  .cc-skillsTable tr:first-child{ border-top:none; }
  .cc-skillsTable td{ padding:6px 0; }
  .cc-skillsTable td[data-label]::before{
    content:attr(data-label);
    display:block;
    font-size:12px;
    color:#043D56;
    opacity:.75;
    margin-bottom:2px;
    font-weight:700;
  }
  .cc-skillLevel{ justify-content:flex-start; }
}

/* ===== Client Console: header layout ===== */
.cc-bar{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:14px 0;
}

.cc-headActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding-bottom:10px;
  border-bottom:1px solid #e6eff6;
}

.cc-headTabs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding-top:12px; /* больше воздуха между линией и табами */
}

.cc-headMeta{
  color:#6b7c86;
  font-weight:400;
  font-size:13px;
}

.cc-tab{
  height:30px; padding:0 10px; border-radius:10px; border:1px solid #cfe0ea;
  background:#fff; color:#043D56; font-weight:700; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}

/* Tabs icons slightly smaller than action icons */
.cc-tab .cc-btnIco{ width:16px; height:16px; }
.cc-tab .cc-btnIco svg{ width:16px; height:16px; }
.cc-tab:not(.active):hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(4,61,86,0.08);
}
.cc-tab:active{
  transform:none;
  box-shadow:none;
}

.cc-tab.active{ background:#043D56; color:#fff; border-color:#043D56; }

.cc-tab.disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none !important;
  box-shadow:none !important;
}

.cc-input{
  height:30px; padding:0 10px; border-radius:10px; border:1px solid #cfe0ea;
  min-width:240px; box-sizing:border-box;
}

.cc-btn{
  height:30px; padding:0 12px; border-radius:10px; border:1px solid #cfe0ea;
  background:#fff; color:#043D56; font-weight:700; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}

/* Header actions hierarchy (client console) */
.cc-headActions #btnReload{
  background:#043D56;
  border-color:#043D56;
  color:#fff;
}
.cc-headActions #btnLogout{
  background:transparent;
  border-color:#cfe0ea;
  color:#043D56;
}

.cc-headActions #btnReload:hover{ box-shadow: 0 10px 22px rgba(4,61,86,0.12); }
.cc-headActions #btnLogout:hover{ background:#f6fafc; }

.cc-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(4,61,86,0.08);
}
.cc-btn:active{
  transform:none;
  box-shadow:none;
}

.cc-btnDanger{
  background:#B32931;
  border-color:#B32931;
  color:#fff;
}
.cc-btnDanger:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
}
.cc-btnDanger:active{
  transform:none;
  box-shadow:none;
}

.cc-switch{ position:relative; display:inline-block; width:44px; height:24px; vertical-align:middle; }
.cc-switch input{ opacity:0; width:0; height:0; }
.cc-switchSlider{ position:absolute; inset:0; border-radius:999px; background:#d7e6ee; transition:.2s; }
.cc-switchSlider:before{ content:""; position:absolute; height:18px; width:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 6px 14px rgba(0,0,0,0.10); }
.cc-switch input:checked + .cc-switchSlider{ background:#0b5c78; }

.cc-row-disabled td{
  opacity:.65;
}

.cc-switch input:checked + .cc-switchSlider:before{ transform:translateX(20px); }



.cc-btnChest{ display:inline-flex; align-items:center; gap:8px; background:#0b5c78; border-color:#0b5c78; color:#fff; }
.cc-btnChest:hover{ transform: translateY(-1px); box-shadow: 0 10px 22px rgba(4,61,86,0.08); }
.cc-btnChest:active{ transform:none; box-shadow:none; }

.cc-btnIco{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; overflow:hidden; }
/* Action-кнопки (Обновить/Выйти): это stroke-иконки — не заливаем fill */
.cc-headActions .cc-btnIco svg *{
  fill:none !important;
  stroke:currentColor !important;
}
.cc-btnIco svg{ width:18px; height:18px; display:block; }
.cc-btnIco svg *{ fill:currentColor !important; stroke:currentColor !important; }

.cc-meta{ color:#043D56; font-weight:400; }
.cc-phone{ color:#c7c7c7; font-weight:300; }

.cc-table{ width:100%; border-collapse:collapse; }
.cc-table th{ text-align:left; color:#043D56; font-weight:800; padding:10px 8px; }
.cc-table td{
  padding:8px 8px;
  vertical-align:middle;
  border-top:1px solid #e6f0f4;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}

.cc-via-section-row td{
  background:#f3f4f6;
  color:#4b5563;
  font-weight:700;
  border-top:1px solid #e6f0f4;
}

.cc-pill{
  display:inline-block; padding:6px 10px; border-radius:10px;
  background:#f8fbfd; border:1px solid rgba(4,61,86,0.12);
  color:#043D56; font-weight:400; font-size:12px;
}
/* ===== Prof iD accordion ===== */
.cc-pill.cc-mini{ padding:4px 8px; font-size:11px; border-radius:999px; }
.cc-pill.cc-done{ background:#63BE7B; border:0; color:#ffffff; }
.cc-pill.cc-todo{ background:#f3f3f3; border:1px solid #e6f0f4; color:#043D56; }

.cc-stage{ display:flex; align-items:center; gap:8px; width:100%; }
.cc-stage .cc-pill{ flex:1 1 auto; min-width:0; }
.cc-stage .cc-acc-btn{ margin-left:auto; flex:0 0 auto; }


.cc-acc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:10px;
  border:1px solid #cfe0ea;
  background:#ffffff;
  color:#043D56;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.cc-acc-btn:hover{ background:#f8fbfd; transform: translateY(-1px); }
.cc-acc-btn:active{ transform:none; box-shadow:none; }
.cc-btn[disabled]{
  opacity:.72;
  cursor:default;
  transform:none!important;
  box-shadow:none!important;
}

.cc-btn-text{ display:inline-block; vertical-align:middle; }
.cc-btn-spinner{
  display:inline-block;
  vertical-align:middle;
  margin-left:8px;
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid rgba(4,61,86,0.22);
  border-top-color: currentColor;
  animation: cc-spin 1s linear infinite;
}
@keyframes cc-spin{ to{ transform: rotate(360deg);} }


.cc-acc-chev{ display:inline-block; font-size:14px; line-height:1; transition: transform .12s ease; }
.cc-acc-btn[aria-expanded="true"] .cc-acc-chev{ transform: rotate(180deg); }

.cc-acc-row td{
  background:#f8fbfd;
  border-top:0;
  padding:0 8px 14px 8px;
}

.cc-acc-box{
  background:#ffffff;
  border:1px solid #e6f0f4;
  border-radius:16px;
  padding:12px 14px;
}

.cc-acc-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.cc-acc-title{ font-weight:400; color:#043D56; }
.cc-acc-ph-name{ font-weight:400; color:#043D56; min-width:70px; }

.cc-acc-ph{ display:flex; align-items:center; gap:10px; margin-top:10px; flex-wrap:wrap; }
.cc-acc-ph-name{ font-weight:800; color:#043D56; min-width:70px; }
.cc-acc-pills{ display:flex; gap:8px; flex-wrap:wrap; }

.cc-pill.score-red, .score-pill.score-red{
  background:#F8696B; border:0px solid rgba(4,61,86,0.18); color:#ffffff;
}

/* 0 = нет данных (клиент не сдавал тест) */
.cc-pill.score-zero, .score-pill.score-zero{
  background:#E5E7EB;
  border:0px solid #D1D5DB;
  color:#6B7280;
}

.cc-pill.score-lred, .score-pill.score-lred{
  background:#F9A3A6; border:0px solid rgba(4,61,86,0.18); color:#ffffff;
}
.cc-pill.score-orange, .score-pill.score-orange{
  background:#FBA075; border:0px solid rgba(4,61,86,0.18); color:#ffffff;
}
.cc-pill.score-yellow, .score-pill.score-yellow{
  background:#FED880; border:0px solid rgba(4,61,86,0.18); color:#ffffff;
}
.cc-pill.score-lgreen, .score-pill.score-lgreen{
  background:#B1D580; border:0px solid rgba(4,61,86,0.18); color:#ffffff;
}
.cc-pill.score-green, .score-pill.score-green{
  background:#63BE7B; border:0px solid rgba(4,61,86,0.18); color:#ffffff;
}

.cc-loading{ color:#043D56; padding:16px 8px; }
.cc-debug{
  position:fixed;
  left:10px;
  right:10px;
  bottom:10px;
  max-height:40vh;
  overflow:auto;
  z-index:99999;
  background:rgba(0,0,0,0.86);
  color:#fff;
  padding:10px 12px;
  border-radius:14px;
  white-space:pre-wrap;
  font: 11px/1.35 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
}


/* ===== Curator Console: modal ===== */
.cc-modal-backdrop{ display:none; position:fixed; inset:0; background:rgba(0,0,0,0.35); z-index:9999; padding:18px; box-sizing:border-box; }
.cc-modal-backdrop.show{ display:flex; align-items:flex-start; justify-content:center; }
.cc-modal{ width:min(980px, 100%); background:#fff; border-radius:18px; box-shadow:0 18px 50px rgba(4,61,86,0.22); overflow:hidden; }
.cc-modal-h{ display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-bottom:1px solid #e6f0f4; }
.cc-modal-title{ font-weight:800; color:#043D56; }
.cc-modal-x{ border:1px solid #cfe0ea; background:#fff; border-radius:10px; padding:8px 10px; cursor:pointer; font-weight:700; color:#043D56; }
.cc-modal-b{ padding:14px 16px; }
.cc-card{ background:#fff; border:1px solid #e6f0f4; border-radius:16px; padding:12px 14px; }
/* ===== Client Console: Experience ===== */
.cc-exp-section{
  border:1px solid #e6f0f4;
  border-radius:16px;
  padding:12px 14px;
  --cc-exp-c1:160px;
  --cc-exp-c2:220px;
  --cc-exp-gap:12px;
  --cc-exp-padX:12px;
}
.cc-sectionLock{ position:relative; border-radius:16px; }
.cc-sectionLock.is-locked{ opacity:.55; filter:grayscale(.2); }
.cc-sectionLockBody{ position:relative; }
.cc-sectionLock.is-locked .cc-sectionLockBody{ pointer-events:none; }

.cc-lockOverlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.75);
  border-radius:inherit;
  cursor:not-allowed;
}
.cc-lockInner{
  display:flex;
  gap:10px;
  align-items:flex-start;
  max-width:420px;
  padding:12px 14px;
  border:1px solid #e6f0f4;
  background:#fff;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.cc-lockIco{ width:22px; height:22px; color:#043D56; }
.cc-lockIco svg{ width:22px; height:22px; }
.cc-lockTitle{ font-weight:700; color:#043D56; margin-bottom:2px; }
.cc-lockSub{ font-size:12px; color:#2b3b45; line-height:1.25; }

.cc-exp-prof{ background:#eef7ff; border-color:#d6ecff; }
.cc-exp-sig{ background:#fff8e6; border-color:#ffe7ae; }

.cc-exp-head{ display:flex; align-items:center; gap:10px; margin:0 0 10px; }
.cc-exp-ico{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 18px; }
.cc-exp-ico-prof{ color:#0b6f92; }
.cc-exp-ico-sig{ color:#f0b429; }
.cc-exp-title{ font-weight:800; color:#043D56; }

.cc-exp-cols{
  display:grid;
  grid-template-columns:var(--cc-exp-c1) var(--cc-exp-c2) 1fr;
  gap:var(--cc-exp-gap);
  padding:6px 8px;
  color:#043D56;
  font-weight:800;
  font-size:13px;
}

.cc-exp-item{
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:14px;
  padding:0;
  margin-top:8px;
  overflow:hidden;
}

.cc-exp-grid{ display:grid; gap:12px; }
.cc-exp-grid-3{ grid-template-columns:var(--cc-exp-c1) var(--cc-exp-c2) 1fr; }
.cc-exp-main{ font-weight:700; color:#043D56; }
.cc-exp-sub{ font-size:12px; color:#6b7b88; margin-top:2px; }
.cc-exp-sub:empty{ display:none; margin-top:0; }


/* clamp 2 строки во 2-й колонке */
.cc-exp-role{
  font-weight:500;
  color:#0b2230;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
}
.cc-exp-details[open] .cc-exp-role{ display:block; -webkit-line-clamp:unset; -webkit-box-orient:unset; overflow:visible; }

.cc-exp-res{ color:#0b2230; }

.cc-exp-details{ margin:0; }

.cc-exp-sum{
  list-style:none;
  cursor:pointer;
  outline:none;
  padding:10px 12px;
}
.cc-exp-sum::-webkit-details-marker{ display:none; }
.cc-exp-sum::marker{ content:""; }
.cc-exp-sum:hover{ background:#f8fbfd; }
.cc-exp-details[open] .cc-exp-sum{ background:#f8fbfd; }

.cc-exp-resrow{
  display:flex;
  align-items:center;
  gap:10px;
}
.cc-exp-text{ flex:1; min-width:0; }

/* превью — 2 строки */
.cc-exp-preview{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
}

/* full-текст показываем только в open и он “продолжается” внутри колонки */
.cc-exp-full{
  display:none;
  color:#0b2230;
  line-height:1.45;
}

.cc-exp-details[open] .cc-exp-preview{ display:none; }
.cc-exp-details[open] .cc-exp-full{ display:block; }
.cc-exp-details[open] .cc-exp-resrow{ align-items:flex-start; }

.cc-exp-caret{
  width:28px;height:28px;
  border:0;background:transparent;
  border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 28px;
}
.cc-exp-sum:hover .cc-exp-caret{ background:rgba(4,61,86,.06); }
.cc-exp-details[open] .cc-exp-caret{ background:rgba(4,61,86,.08); }

.cc-exp-caret svg{
  width:20px;height:20px;
  fill:none;
  stroke:#043D56;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.8;
  transition: transform .15s ease, opacity .15s ease;
}
.cc-exp-details[open] .cc-exp-caret svg{
  transform:rotate(180deg);
  opacity:1;
}

.cc-exp-empty{ padding:10px 0; color:#6b7b88; font-size:13px; }
.cc-exp-note{ margin-top:6px; font-size:12px; color:#6b7b88; }

@media (max-width: 900px){
  .cc-exp-cols{ display:none; }
  .cc-exp-grid-3{ grid-template-columns:1fr; }
  .cc-exp-resrow{ gap:8px; }
}

.cc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
/* ===== Profile Bento ===== */
.cb-profile{ font-size:14px; } /* было ~16px в браузере => минус 2 пункта */
.cb-profile h4{ margin:0; font-size:14px; font-weight:800; color:#043D56; } /* минус 2 пункта */
.cb-profile .cc-table th,
.cb-profile .cc-table td{
  padding:8px 8px;
  line-height:1.2;
  font-weight:400;
}

/* ===== Profile headers: icons ===== */
.cb-profile .cb-card-h h4{
  display:flex;
  align-items:center;
  gap:10px;
}

.cb-hico{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
  color:#043D56;
}

.cb-hico svg{
  width:18px;
  height:18px;
  display:block;
}

/* force color for inline-filled SVGs */
.cb-hico svg *{
  fill: currentColor !important;
  stroke: currentColor !important;
}

.cb-bento{display:block;column-count:2;column-gap:12px}
.cb-profile .cb-card.cb-aspects .cc-table th,
.cb-profile .cb-card.cb-aspects .cc-table td{ padding:6px 6px; font-size:12px; }
.cb-profile .cb-card.cb-aspects .cc-table th:nth-child(2),
.cb-profile .cb-card.cb-aspects .cc-table td:nth-child(2){ width:70px; }
.cb-profile .cb-card.cb-aspects .cc-table th:nth-child(3),
.cb-profile .cb-card.cb-aspects .cc-table td:nth-child(3){ width:90px; }

.cb-drivers .cb-card-b{ max-height: none; overflow: visible; }
.cb-via .cb-card-b{ max-height: 520px; overflow:auto; }

/* На мобиле — обычный поток */
@media (max-width:980px){
  .cb-drivers .cb-card-b, .cb-via .cb-card-b{ max-height:none; }
}

.cb-card{
  background:#fff;
  border:1px solid #e6f0f4;
  border-radius:18px;
  box-shadow:0 10px 22px rgba(4,61,86,0.06);
  overflow:hidden;

  display:inline-block;
  width:100%;
  break-inside:avoid;
  margin:0 0 12px;
  vertical-align:top;
}

.cb-card-h{ padding:12px 14px; border-bottom:1px solid #e6f0f4; }
.cb-card-h h4{display:flex;align-items:center;gap:8px;}
.cb-hico{display:inline-flex;color:#043D56;line-height:0;}
.cb-hico svg{width:18px;height:18px;display:block;fill:currentColor;}
.cb-card-b{ padding:10px 14px; }

.cb-span-4{
  column-span:all;
  display:block;
}

.cb-col,
.cb-col-left,
.cb-col-right{
  display:contents;
}

@media (max-width:980px){
  .cb-bento{
    column-count:1;
  }
}

@media (max-width: 860px){ .cc-grid{ grid-template-columns:1fr; } }

body, .cc-wrap, table, button, input { font-family: 'Montserrat', sans-serif !important; }

.level-pill{
  display:inline-block;
  padding:4px 10px;
  border-radius:10px;
  font-weight:700;
  font-size:12px;
  white-space:nowrap;
}

/* Уровень (по ТЗ): Низкий/Средний/Высокий */
.level-high{ background:#63BE7B; border:0px solid rgba(4,61,86,18); color:#ffffff; }
.level-mid { background:#FBA075; border:0px solid rgba(4,61,86,18); color:#ffffff; }
.level-low { background:#F8696B; border:0px solid rgba(4,61,86,18); color:#ffffff; }

.score-pill{
  display:inline-block;
  min-width:44px;
  text-align:center;
  padding:4px 10px;
  border-radius:10px;
  font-weight:800;
  font-size:12px;
  border:1px solid #e6f0f4;
  background:#F5FAFD;
  color:#043D56;
}

/* Результат (для блоков, где цвет зависит от уровня): */
.score-low{  background:#F8696B; border:0px solid rgba(4,61,86,18); color:#ffffff; }
.score-mid{  background:#FBA075; border:0px solid rgba(4,61,86,18); color:#ffffff; }
.score-high{ background:#63BE7B; border:0px solid rgba(4,61,86,18); color:#ffffff; }

/* Burnout row label + icons */
.bo-label{ display:flex; align-items:center; gap:10px; font-weight:500; }
.bo-ico{ width:18px; height:18px; flex:0 0 18px; display:inline-flex; align-items:center; justify-content:center; }
.bo-ico svg{ width:18px; height:18px; display:block; }
.bo-ico svg path, .bo-ico svg circle, .bo-ico svg rect{ fill:currentColor; stroke:currentColor; }

.bo-ex{ color:#E32636; } /* Эмоциональное истощение */
.bo-de{ color:#0DA4E9; } /* Деперсонализация */
.bo-pr{ color:#15803D; } /* Редукция профессионализма */

/* Burnout accordion */
/* ===== Burnout (shadcn-like accordion rows) ===== */
.cc-bo-head{ display:none; }

.cc-bo-list{ display:block; }

.cc-bo-details{
  display:block;
  border-bottom:1px solid #e6f0f4;
}
.cc-bo-static{
  display:grid;
  grid-template-columns: minmax(0,1fr) max-content max-content 36px;
  gap:14px;
  align-items:center;
  padding:12px;
  border-bottom:1px solid #e6f0f4;
}

.cc-bo-sum{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns: minmax(0,1fr) max-content max-content 36px;
  gap:14px;
  align-items:center;
  padding:12px;
}
.cc-bo-sum::-webkit-details-marker{ display:none; }
.cc-bo-sum::marker{ content:""; }
.cc-bo-sum:hover{ background:#f8fbfd; }
.cc-bo-details[open] .cc-bo-sum{ background:#f8fbfd; }

.cc-bo-cell{ min-width:0; }
.cc-bo-cell--lvl,
.cc-bo-cell--res,
.cc-bo-cell--chev{ justify-self:end; }

.cc-bo-caret{
  width:28px;height:28px;
  border:0;background:transparent;
  border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(4,61,86,.65);
}
.cc-bo-sum:hover .cc-bo-caret{
  background:rgba(4,61,86,.06);
  color:#043D56;
}
.cc-bo-details[open] .cc-bo-caret{
  background:rgba(4,61,86,.08);
  color:#043D56;
}

.cc-bo-caret svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#043D56;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.8;
  transition: transform .15s ease, opacity .15s ease;
}
.cc-bo-details[open] .cc-bo-caret svg{
  transform:rotate(180deg);
  opacity:1;
}

.cc-bo-desc{
  padding:0 12px 12px 12px;
  color:#6b7c86;
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (max-width: 640px){
  .cc-bo-sum,
  .cc-bo-static{
    grid-template-columns: 1fr 36px;
    grid-template-areas:
      "label chev"
      "lvl res";
    row-gap:10px;
  }
  .cc-bo-cell--label{ grid-area:label; }
  .cc-bo-cell--chev{ grid-area:chev; }
  .cc-bo-cell--lvl{ grid-area:lvl; justify-self:start; }
  .cc-bo-cell--res{ grid-area:res; justify-self:end; }
}
.cc-bo-cell--lvl,.cc-bo-cell--res{
  display:flex;flex-direction:column;gap:6px;
}
.cc-bo-cell--res{align-items:flex-end;}

.cc-bo-cell--lvl::before{
  content:"Уровень";
  font-size:12px;line-height:1.2;
  color:#6b7c86;
}
.cc-bo-cell--res::before{
  content:"Результат";
  font-size:12px;line-height:1.2;
  color:#6b7c86;
}

@media (max-width: 900px) {
  .cc-tabs button {
    padding: 10px 14px;
    min-height: 36px;
  }
}

.cc-exp-note {
  font-size: 12px;
  color: #777;
  margin-top: 6px;
}
/* ======================
 * My Plan (ClientPlan)
 * ====================== */
.cc-planTopbar{
  position:relative;
  top:auto;
  z-index:6;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 0 12px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(4,61,86,0.10);
}
.cc-planTopbarRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.cc-planTopbarLeft{ min-width:0; }
.cc-planTopbarTitle{
  font-weight:900;
  color:#043D56;
  font-size:16px;
  line-height:1.2;
}
.cc-planTopbarSub{
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  color:#6a7d87;
}
.cc-planTopbarRight{
  display:flex;
  align-items:stretch;
  gap:10px;
  flex-shrink:0;
}

.cc-planTopbarRight{
  gap: 12px;
}
/* "Сохранить" = primary (только на странице плана) */
.cc-planPage #btnSavePlan{
  background: #043D56;
  color: #fff;
  border-color: rgba(4,61,86,0.24);
  height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  ox-sizing:border-box;
  border-radius:10px;
  line-height:1;
  box-sizing:border-box;
}
.cc-planPage #btnSavePlan:hover{
  filter: brightness(0.97);
}

.cc-planUpdated{
  font-size:12px;
  color:#043D56;
  opacity:.8;
  white-space:nowrap;
}
.cc-planProgress{
  display:flex;
  align-items:center;
  gap:10px;
}
.cc-planProgressBar{
  flex:1;
  height:8px;
  border-radius:999px;
  background:rgba(4,61,86,0.10);
  overflow:hidden;
}
.cc-planProgressFill{
  height:100%;
  border-radius:999px;
  background:#043D56;
  width:0%;
  transition:width .18s ease;
}
.cc-planProgressText{
  font-size:12px;
  font-weight:800;
  color:#043D56;
  min-width:34px;
  text-align:right;
}
.cc-planKpi{
  padding: 5px 9px;
}
.cc-planProgressText{
  min-width: 30px;
}

.cc-planKpis{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.cc-planKpi{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(4,61,86,0.14);
  background:#fff;
  white-space:nowrap;
}
.cc-planKpiLbl{
  font-size:12px;
  color:#6a7d87;
  font-weight:700;
}
.cc-planKpiVal{
  font-size:12px;
  color:#043D56;
  font-weight:900;
}
.cc-planKpiSep{
  width:1px;
  height:18px;
  background:rgba(4,61,86,0.12);
}

.cc-planSteps{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:12px;
}
/* Plan: flatten nested container (remove "card-in-card") */
.cc-planFlatCard{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}

.cc-planAdd{
  margin-top:10px;
}

.cc-planHint{
  margin-top:6px;
  font-size:12px;
  color:#6a7d87;
}

.cc-planStep{
  padding:14px;
  border:1px solid rgba(0,0,0,0.06);
  box-shadow:0 10px 26px rgba(4,61,86,0.08);
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.cc-planStep:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(4,61,86,0.12);
}
.cc-planStep.cc-acc-open{
  background:#fbfdff;
  border-color:rgba(4,61,86,0.12);
}
.cc-planStepHead{
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:"left sum toggle";
  align-items:flex-start;
  gap:12px;
}

@media (max-width:720px){
  .cc-planStepHead{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "left toggle"
      "sum sum";
  }
}

.cc-planStepLeft{ grid-area:left; }
.cc-planSummary{ grid-area:sum; min-width:0; }
.cc-planStepRight{ grid-area:toggle; display:flex; justify-content:flex-end; }
.cc-planStepChevron{
  width:22px;height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(4,61,86,0.16);
  background:rgba(255,255,255,0.95);
  color:#043D56;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, border-color .16s ease;
  padding:0;
}
.cc-planStepChevron svg{
  width:14px;height:14px;
  display:block;
}
.cc-planStep:hover .cc-planStepChevron{
  background:rgba(4,61,86,0.04);
  border-color:rgba(4,61,86,0.22);
}
.cc-acc-open .cc-planStepChevron{ transform:rotate(180deg); }

.cc-visuallyHidden{
  position:absolute !important;
  height:1px;width:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}

.cc-planStepTitle{
  font-weight:800;
  color:#043D56;
}
.cc-planStepLeft{
  display:flex;
  align-items:center;
  gap:8px;
}
.cc-planStepDot{
  width:10px;height:10px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,0.10);
  background:#e9eef2;
  flex:0 0 auto;
}
.cc-planStepDot--empty{ background:#e9eef2; border-color:rgba(0,0,0,0.10); }
.cc-planStepDot--partial{ background:#043D56; border-color:rgba(4,61,86,0.20); }
.cc-planStepDot--done{ background:#1f9d55; border-color:rgba(31,157,85,0.25); }

.cc-planStepCount{
  font-size:12px;
  font-weight:800;
  color:#6a7d87;
}

.cc-planPills{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}

.cc-planPill{
  border:1px solid rgba(4,61,86,0.14);
  background:#ffffff;
  color:#043D56;
}

.cc-planPreview{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#fbfdff;
  border:1px solid rgba(0,0,0,0.06);
  font-size:13px;
  line-height:1.35;
  color:#2b3b45;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.cc-planSummary{
  margin-top:0px;
  padding:10px 12px;
  border-radius:12px;
  background:#fbfdff;
  border:1px solid rgba(0,0,0,0.06);
  display:grid;
  grid-template-columns: 1.65fr 0.55fr 0.5fr; /* ~65/20/15 */
  gap:10px;
  align-items:center;
}

.cc-planSumAch{
  font-size:13px;
  line-height:1.25;
  color:#2b3b45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cc-planSumDl{
  font-size:12px;
  color:#6a7d87;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cc-planSumSt{
  display:flex;
  justify-content:flex-end;
}

.cc-planBadge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(4,61,86,0.14);
  white-space:nowrap;
}

.cc-planBadge--empty{ background:#fff; color:#6a7d87; }
.cc-planBadge--work{ background:#043D56; color:#fff; border-color:rgba(4,61,86,0.30); }
.cc-planBadge--pause{ background:#FFBD69; color:#043D56; border-color:rgba(255,189,105,0.55); }
.cc-planBadge--done{ background:#1f9d55; color:#fff; border-color:rgba(31,157,85,0.35); }

@media (max-width: 700px){
  .cc-planSummary{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "ach ach"
      "dl st";
    gap:8px;
    margin-top:10px;
  }
  .cc-planSumAch{ grid-area:ach; white-space:nowrap; }
  .cc-planSumDl{ grid-area:dl; }
  .cc-planSumSt{ grid-area:st; justify-content:flex-end; }
}

.cc-planEmpty{
  color:#6a7d87;
  opacity:.85;
}

.cc-planFull{
  margin-top:10px;
}

.cc-planGrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.cc-planGrid--core{
  grid-template-columns: 1.6fr 1fr;
  gap:12px;
  align-items:end;
}

.cc-planCoreLeft{ min-width:0; }

.cc-planCoreRight{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:end;
}

.cc-planCoreRight .cc-input,
.cc-planCoreRight .cc-myBtn{
  background:#fff;
  height:52px;
  box-sizing:border-box;
}

.cc-planPage .cc-planGrid--core textarea.cc-input[data-k="step"]{
  height:52px;
  min-height:52px;
  max-height:52px;
  resize:none;
}

@media (max-width: 900px){
  .cc-planGrid--core{ grid-template-columns:1fr; }
  .cc-planCoreRight{ grid-template-columns:1fr; }
}

/* ===== Plan: master-step layout ===== */
.cc-planReqHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:6px 0 10px;
}
.cc-planReqTitle{
  font-size:12px;
  font-weight:800;
  color:#043D56;
}
.cc-planReqHint{
  font-size:12px;
  color:#5e6b78;
  flex:1;
  max-width:none;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cc-planField--wide{
  grid-column:1 / -1;
}
.cc-planNote{
  min-height:44px;
  max-height:72px;
}

.cc-planOptToggle{
  box-sizing:border-box;
  max-width:100%;
  margin-top:10px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  border:1px dashed rgba(4,61,86,0.25);
  color:#043D56;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.cc-planOptToggle svg{ width:18px; height:18px; opacity:.75; }
.cc-planOptBox{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#f6f8fa;
  border:1px solid rgba(0,0,0,0.06);
}
.cc-planStepActions{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.cc-planStepBtn{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(4,61,86,0.16);
  background:#fff;
  color:#043D56;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  box-sizing:border-box;
}

.cc-planStepBtn svg{ width:16px; height:16px; }

.cc-planStepBtn--add:hover{
  background: rgba(4,61,86,0.04);
}

.cc-planStepBtn--del{
  border-color: rgba(180,35,42,0.35);
  color:#b4232a;
}

.cc-planStepBtn--del:hover{
  background: rgba(180,35,42,0.06);
}

.cc-planStepBtn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.cc-planOptTitle{
  font-size:12px;
  font-weight:800;
  color:#043D56;
  opacity:.9;
  margin-bottom:8px;
}

.cc-planActionHint{
  margin-top:8px;
  font-size:12px;
  color:#043D56;
  opacity:.9;
}

@media (max-width: 900px){
  .cc-planGrid{ grid-template-columns:1fr; }
}

.cc-planLabel{
  font-size:12px;
  color:#043D56;
  opacity:.85;
  margin-bottom:6px;
  font-weight:700;
}

.cc-planField .cc-input{
  width:100% !important;
  min-width:0 !important;
  max-width:100%;
  box-sizing:border-box;
  display:block;
}
/* ===== Plan: Month/Year single-field picker (popover) ===== */
.cc-myWrap{ position:relative; width:100%; }

.cc-myBtn{
  width:100%;
  height:34px;
  padding:0 10px;
  border:1px solid rgba(4,61,86,.18);
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  box-sizing:border-box;
  cursor:pointer;
}
/* Plan core: make Status same height as Month/Year */
.cc-planField--status select.cc-input{
  height:34px;
  padding:0 10px;
  box-sizing:border-box;
}
.cc-planField--deadline .cc-myBtn{ height:40px; }
.cc-planField--status select.cc-input{ height:40px; padding:0 12px; }

.cc-myBtnText{ font-size:14px; color:#043D56; }
.cc-myBtnText.isPlaceholder{ color:rgba(4,61,86,.45); }

.cc-myChevron{
  color:rgba(4,61,86,.55);
  font-size:14px;
  line-height:1;
  flex:0 0 auto;
}

.cc-myPop{
  position:absolute;
  z-index:30;
  left:0;
  top:calc(100% + 8px);
  width:320px;
  max-width:100%;
  padding:12px;

  border:1px solid rgba(4,61,86,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  box-sizing:border-box;
}

.cc-myTop{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.cc-myYear{
  flex:1;
  height:38px;
  border:1px solid rgba(4,61,86,.18);
  border-radius:12px;
  padding:0 10px;
  background:#fff;
  color:#043D56;
  box-sizing:border-box;
}

.cc-myClose{
  height:38px;
  padding:0 12px;
  border:1px solid rgba(4,61,86,.18);
  border-radius:12px;
  background:#fff;
  color:#043D56;
  cursor:pointer;
}

.cc-monthGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.cc-month{
  height:40px;
  border:1px solid rgba(4,61,86,.14);
  border-radius:14px;
  background:#fff;
  color:#043D56;
  font-weight:700;
  cursor:pointer;
}

.cc-month.isActive{
  border-color:rgba(4,61,86,.35);
  background:rgba(4,61,86,.06);
}

@media (max-width: 520px){
  .cc-myPop{ width:100%; }
}

.cc-planOptBox textarea.cc-input{ min-height:70px; }
/* core: achievement textarea tuned to match (deadline + status) */
