.bht-dashboard,
.bht-habits,
.bht-profile,
.bht-achievements {
width: 100%;
min-width: 0;
} .bht-hero {
display: flex;
flex-direction: column;
gap: 16px;
background: linear-gradient(135deg, var(--bht-primary) 0%, var(--bht-primary-dark) 100%);
border: 0;
color: #fff;
}
.bht-app .bht-hero .bht-hero__title,
.bht-app .bht-hero .bht-hero__label {
color: #fff;
}
.bht-hero__title {
font-size: 1.5rem;
overflow-wrap: anywhere;
}
.bht-hero__sub {
margin-top: 4px;
opacity: 0.9;
font-size: 0.95rem;
}
.bht-hero__progress {
display: flex;
align-items: center;
gap: 16px;
}
.bht-hero__label {
font-size: 1.05rem;
}
.bht-hero__count {
margin-top: 4px;
font-size: 1.05rem;
}
.bht-ring {
position: relative;
flex: 0 0 auto;
width: 88px;
height: 88px;
border-radius: 50%;
background: conic-gradient(#fff calc(var(--bht-p, 0) * 1%), rgba(255, 255, 255, 0.28) 0);
display: grid;
place-items: center;
}
.bht-ring::before {
content: '';
position: absolute;
inset: 9px;
border-radius: 50%;
background: var(--bht-primary-dark);
}
.bht-ring__value {
position: relative;
font-size: 1.2rem;
font-weight: 800;
color: #fff;
} .bht-stats {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin-top: 16px;
}
.bht-stat {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 2px;
padding: 14px;
}
.bht-stat__icon {
font-size: 1.4rem;
line-height: 1;
}
.bht-stat__value {
font-size: 1.8rem;
font-weight: 800;
line-height: 1.1;
color: var(--bht-primary-dark);
}
.bht-stat__label {
font-size: 0.85rem;
color: var(--bht-muted);
font-weight: 600;
} .bht-quick {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.bht-app a.bht-quick__link {
display: flex;
align-items: center;
gap: 10px;
min-height: 56px;
padding: 10px 14px;
border: 1px solid var(--bht-border);
border-radius: var(--bht-radius);
background: var(--bht-card);
color: var(--bht-text);
font-weight: 600;
text-decoration: none;
box-shadow: var(--bht-shadow);
}
.bht-app a.bht-quick__link:hover {
background: var(--bht-primary-soft);
color: var(--bht-text);
}
.bht-quick__icon {
font-size: 1.4rem;
} .bht-week {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
gap: 6px;
align-items: end;
}
.bht-week__day {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}
.bht-week__bar {
position: relative;
display: flex;
align-items: flex-end;
width: 100%;
max-width: 36px;
height: 80px;
border-radius: 10px;
background: var(--bht-border);
overflow: hidden;
}
.bht-week__fill {
display: block;
width: 100%;
height: var(--bht-h, 0%);
min-height: 0;
background: linear-gradient(180deg, var(--bht-accent), var(--bht-primary));
border-radius: 10px;
}
.bht-week__label {
font-size: 0.75rem;
font-weight: 700;
color: var(--bht-text);
}
.bht-week__pct {
font-size: 0.7rem;
color: var(--bht-muted);
} .bht-challenge-list {
display: grid;
gap: 12px;
}
.bht-challenge-mini {
display: flex;
flex-direction: column;
gap: 8px;
}
.bht-challenge-mini__head {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.bht-challenge-mini__head strong {
flex: 1 1 140px;
min-width: 0;
overflow-wrap: anywhere;
} .bht-quote {
position: relative;
margin: 0;
background: var(--bht-accent-soft);
border-color: transparent;
padding: 20px 20px 16px 20px;
}
.bht-quote__mark {
position: absolute;
top: -4px;
left: 14px;
font-size: 4rem;
line-height: 1;
color: var(--bht-accent);
opacity: 0.6;
font-family: Georgia, serif;
}
.bht-quote__text {
position: relative;
padding-top: 34px;
font-size: 1.15rem;
font-weight: 600;
font-style: italic;
overflow-wrap: anywhere;
}
.bht-quote__author {
margin-top: 8px;
color: var(--bht-muted);
font-size: 0.9rem;
font-weight: 600;
}
.bht-mtc {
background: linear-gradient(135deg, var(--bht-accent-soft), var(--bht-primary-soft));
border-color: transparent;
}
.bht-mtc__eyebrow {
font-size: 0.85rem;
font-weight: 800;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--bht-accent-dark);
}
.bht-mtc__action {
margin-top: 6px;
font-size: 1.35rem;
font-weight: 700;
line-height: 1.3;
overflow-wrap: anywhere;
}
.bht-mtc__date {
margin-top: 6px;
color: var(--bht-muted);
font-size: 0.88rem;
} .bht-achievement-grid {
display: grid;
grid-template-columns: repeat(1, minmax(0, 1fr));
gap: 12px;
}
.bht-achievement {
display: flex;
align-items: center;
gap: 14px;
padding: 14px;
}
.bht-achievement__badge {
flex: 0 0 auto;
display: grid;
place-items: center;
width: 56px;
height: 56px;
border-radius: 50%;
background: var(--bht-border);
font-size: 1.7rem;
}
.bht-achievement.is-unlocked {
border-color: var(--bht-primary);
background: var(--bht-primary-soft);
}
.bht-achievement.is-unlocked .bht-achievement__badge {
background: var(--bht-primary);
}
.bht-achievement.is-locked {
border-style: dashed;
}
.bht-achievement.is-locked .bht-achievement__badge {
filter: grayscale(1);
}
.bht-achievement__name {
font-size: 1.02rem;
overflow-wrap: anywhere;
}
.bht-achievement__desc {
margin-top: 2px;
font-size: 0.88rem;
color: var(--bht-muted);
} .bht-profile__card {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
}
.bht-profile__photo {
display: block;
width: 96px;
height: 96px;
object-fit: cover;
border-radius: 50%;
border: 4px solid var(--bht-primary-soft);
background: var(--bht-border);
}
.bht-profile__name {
font-size: 1.4rem;
overflow-wrap: anywhere;
}
.bht-profile__email {
color: var(--bht-muted);
overflow-wrap: anywhere;
}
.bht-profile__hint {
margin-top: 4px;
} .bht-wwyd {
width: 100%;
min-width: 0;
}
.bht-wwyd__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
margin-top: 14px;
}
.bht-app .bht-wwyd__card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
min-height: 112px;
padding: 14px 8px;
border: 2px solid var(--bht-border);
border-radius: var(--bht-radius);
background: var(--bht-card);
color: var(--bht-text);
font: inherit;
font-weight: 700;
text-align: center;
box-shadow: var(--bht-shadow);
cursor: pointer;
transition: border-color 0.15s ease, transform 0.1s ease;
}
.bht-app .bht-wwyd__card:hover {
border-color: var(--bht-primary);
background: var(--bht-primary-soft);
color: var(--bht-text);
}
.bht-app .bht-wwyd__card[disabled] {
opacity: 0.5;
cursor: not-allowed;
}
.bht-wwyd__icon {
font-size: 2rem;
line-height: 1;
}
.bht-wwyd__panel {
margin-top: 12px;
}
.bht-wwyd__category {
font-size: 0.85rem;
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(--bht-primary-dark);
}
.bht-wwyd__question {
margin: 8px 0 14px;
font-size: 1.25rem;
}
.bht-wwyd__options {
display: grid;
gap: 10px;
}
.bht-app .bht-wwyd__option {
display: flex;
align-items: flex-start;
gap: 12px;
width: 100%;
min-height: 52px;
padding: 12px 14px;
border: 2px solid var(--bht-border);
border-radius: var(--bht-radius-sm);
background: #fff;
color: var(--bht-text);
font: inherit;
text-align: left;
cursor: pointer;
}
.bht-app .bht-wwyd__option:hover:not([disabled]) {
border-color: var(--bht-primary);
background: var(--bht-primary-soft);
color: var(--bht-text);
}
.bht-app .bht-wwyd__option[aria-pressed='true'] {
border-color: var(--bht-primary);
background: var(--bht-primary-soft);
}
.bht-app .bht-wwyd__option[disabled] {
cursor: default;
}
.bht-wwyd__letter {
flex: 0 0 auto;
display: grid;
place-items: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--bht-primary);
color: #fff;
font-weight: 800;
font-size: 0.85rem;
}
.bht-wwyd__feedback {
margin-top: 14px;
padding: 14px;
border-radius: var(--bht-radius-sm);
background: var(--bht-primary-soft);
border-left: 5px solid var(--bht-primary);
}
.bht-wwyd__feedback-title {
font-weight: 800;
margin-bottom: 4px;
}
.bht-wwyd__controls {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 14px;
}