/* Vibe client account extras: Your progress, editable details, statement. Vibe palette only: olive, sage, blush, linen, brown. Never yellow. */
.progress{margin-top:18px;gap:0}
.progress:hover{transform:none}
.progress-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.progress-head h2{font-size:clamp(1.8rem,3.2vw,2.4rem)}
.progress-head p{max-width:560px}
.next-ms{min-width:240px;flex:0 1 300px;padding:16px 18px;border-radius:18px;background:var(--olive);color:var(--linen)}
.next-ms span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blush)}
.next-ms strong{display:block;font:400 1.5rem/1.2 Georgia,serif;color:var(--white);margin:4px 0 10px}
.next-ms em{display:block;margin-top:8px;font-style:normal;font-size:.84rem;color:rgba(244,237,227,.85)}
.bar{height:9px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:var(--blush);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.bar.small{height:6px;margin-top:7px;background:var(--sage-soft)}
.bar.small i{background:var(--sage)}
.stat-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:22px 0}
.stat{padding:16px 14px;border-radius:16px;background:var(--linen);border:1px solid var(--line);transition:transform .2s ease,background .2s ease}
.stat:hover{transform:translateY(-2px);background:var(--blush-soft)}
.stat strong{display:block;font:400 2.1rem/1 Georgia,serif;color:var(--olive);letter-spacing:-.03em}
.stat span{display:block;margin-top:6px;font-size:.78rem;font-weight:700;color:var(--brown-soft);line-height:1.3}
.progress-body{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.chart-box{padding:18px;border-radius:18px;border:1px solid var(--line)}
.chart-box h3,.ms-head h3{margin:0 0 12px;font:400 1.2rem Georgia,serif;color:var(--brown)}
.week-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:150px}
.wk{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.wk i{display:block;width:100%;max-width:26px;border-radius:7px 7px 3px 3px;background:var(--sage);transition:height .6s ease}
.wk i.zero{background:var(--line)}
.wk.now i{background:var(--blush)}
.wk .n{font-size:.7rem;font-weight:800;color:var(--olive);min-height:1em}
.wk em{font-style:normal;font-size:.62rem;color:var(--brown-soft);white-space:nowrap;min-height:1.2em}
.mix{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mix li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:.9rem;font-weight:600}
.mix b{color:var(--olive)}
.mix i{grid-column:1/-1;display:block;height:7px;border-radius:99px;background:var(--blush)}
.ms-head{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 2px}
.ms-head span{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.milestones{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.ms{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--white);transition:transform .2s ease,box-shadow .2s ease}
.ms:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(58,41,40,.08)}
.ms-icon{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
.ms-icon svg{width:24px;height:24px}
.ms.got .ms-icon{background:var(--olive);color:var(--white);box-shadow:0 0 0 4px var(--blush-soft)}
.ms.locked .ms-icon{background:var(--linen);color:var(--sage);border:1px dashed var(--sage)}
.ms-text{flex:1;min-width:0}
.ms-text strong{display:block;font-size:.92rem;line-height:1.25}
.ms-text span{display:block;font-size:.78rem;color:var(--brown-soft)}
.ms.got .ms-text span{color:var(--olive);font-weight:700}
.progress-note{margin:16px 0 0}
/* details */
.profile-list{display:grid;gap:12px;margin:4px 0 16px}
.profile-list dt{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.profile-list dd{margin:2px 0 0;font-weight:600;word-break:break-word}
.profile-list .missing{font-weight:500;color:var(--brown-soft);font-style:italic}
.profile-form label{display:block;margin:14px 0 6px;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-soft)}
.profile-form input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--linen);color:var(--brown);transition:border-color .2s ease,background .2s ease}
.profile-form input:focus{outline:none;border-color:var(--olive);background:var(--white);box-shadow:0 0 0 4px rgba(133,136,105,.18)}
.profile-form .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-form .small a,.details .small a{color:var(--olive);font-weight:700}
.details .notice{margin:0 0 12px}
/* payments */
.pay-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.pay-head h2{margin:0}
.btn.small{min-height:38px;padding:8px 14px;font-size:.7rem}
.pay-ref{display:block;font-size:.76rem;color:var(--brown-soft)}
@media(max-width:1020px){.stat-tiles{grid-template-columns:repeat(3,1fr)}.progress-body{grid-template-columns:1fr}}
@media(max-width:560px){.stat-tiles{grid-template-columns:repeat(2,1fr)}.stat strong{font-size:1.8rem}.week-chart{height:120px;gap:4px}.next-ms{flex:1 1 100%}.profile-form .two{grid-template-columns:1fr}}
