/* ---- challenges ---- */
.challenge-card{background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:14px;margin-bottom:10px;}
.challenge-top{display:flex;align-items:flex-start;gap:10px;}
.challenge-emoji{width:40px;height:40px;border-radius:12px;background:var(--purple-light);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.challenge-title{font-family:'Manrope';font-weight:800;font-size:14.5px;margin:0 0 2px;}
.challenge-desc{font-size:12px;color:var(--muted);margin:0;line-height:1.4;}
.challenge-meta{display:flex;gap:10px;align-items:center;margin-top:9px;font-size:11px;color:var(--muted);font-weight:700;}
.challenge-stars{color:var(--sun-dark);}
.challenge-take-btn{border:0;background:var(--mint);color:#fff;font-family:'Manrope';font-weight:800;font-size:12.5px;padding:8px 14px;border-radius:12px;cursor:pointer;flex-shrink:0;}
.challenge-take-btn:active{transform:translateY(1px);}
.challenge-progress-outer{height:8px;border-radius:6px;background:var(--purple-light);margin-top:10px;overflow:hidden;}
.challenge-progress-inner{height:100%;background:var(--mint);border-radius:6px;transition:width .3s;}
.challenge-row-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.challenge-streak{font-size:11.5px;font-weight:800;color:var(--purple-dark);}
.challenge-checkin-btn{border:0;background:var(--purple);color:#fff;font-family:'Manrope';font-weight:800;font-size:12.5px;padding:8px 14px;border-radius:12px;cursor:pointer;}
.challenge-checkin-btn:disabled{background:var(--mint);opacity:.85;cursor:default;}
.challenge-checkin-btn.done{background:var(--mint);}
.challenge-drop-btn{border:0;background:var(--purple-light);color:var(--pink);font-family:'Manrope';font-weight:800;font-size:12.5px;padding:8px 12px;border-radius:12px;cursor:pointer;}
.challenge-active-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;}
.challenge-add-mini{border:0;border-radius:999px;background:var(--purple);color:#fff;font-family:'Manrope';font-size:11px;font-weight:800;line-height:1;padding:8px 12px;cursor:pointer;box-shadow:var(--shadow);white-space:nowrap;}
.challenge-add-mini:active{transform:translateY(1px);}

/* ---- active challenges on the home screen (below Приоритеты) ---- */
.home-challenge{ display:flex; align-items:center; gap:10px; padding:10px 0; border-top:1px solid rgba(0,0,0,.06); }
.home-challenge:first-child{ border-top:0; padding-top:2px; }
.home-challenge-emoji{ width:34px; height:34px; border-radius:11px; background:var(--purple-light); display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.home-challenge-body{ flex:1; min-width:0; }
.home-challenge-title{ font-family:'Manrope'; font-weight:800; font-size:13.5px; margin:0; line-height:1.25; }
.home-challenge-meta{ font-size:11px; color:var(--muted); font-weight:700; margin:2px 0 6px; }
.home-challenge-meta .challenge-streak{ margin-right:8px; }
.home-challenge-btn{ border:0; background:var(--purple); color:#fff; font-family:'Manrope'; font-weight:800; font-size:12px; padding:7px 12px; border-radius:11px; cursor:pointer; flex-shrink:0; }
.home-challenge-btn:disabled{ background:var(--mint); opacity:.85; cursor:default; }
.home-challenges-empty{ font-size:12px; color:var(--muted); margin:2px 0 0; }

/* ---- achievements / badges ---- */
.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.badge-item{background:var(--white);border-radius:14px;box-shadow:var(--shadow);padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.badge-item.locked{opacity:.35;filter:grayscale(1);}
.badge-icon{font-size:22px;}
.badge-label{font-size:9.5px;font-weight:700;color:var(--ink);line-height:1.2;}
.level-pill{background:var(--sun);color:var(--sun-dark);font-family:'Manrope';font-weight:800;font-size:11px;padding:4px 10px;border-radius:10px;flex-shrink:0;}

/* ---- компактный блок челленджей на главной ---- */
#home-challenges-block{ padding:12px 14px; }
#home-challenges-block .home-challenges-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
#home-challenges-block .home-challenges-head .block-head{ margin:0; flex:1; }
#home-challenges-block .home-challenges-head .challenge-add-mini{ margin-left:auto; flex-shrink:0; }
.home-challenge{ padding:8px 0; }
.home-challenge-actions{ display:flex; gap:6px; flex-shrink:0; }
.home-challenge-btn.drop{ background:var(--purple-light); color:var(--pink); }

.home-challenge-btn.done{ background:var(--mint); }
