*{box-sizing:border-box}
:root{
  --bg:#f2f2ef;--ink:#0e0e0e;--soft:#eeeeeb;--muted:#8b8b88;--red:#ff1f2d;
  font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)
}
html,body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}
body{padding-bottom:94px}
button,input{font:inherit}
button{cursor:pointer}
.app{width:min(100%,620px);margin:0 auto}
.view{display:none;padding:14px 14px 18px}.view.active{display:block}
.dashboard-header{display:grid;grid-template-columns:108px 1fr 126px;gap:10px;align-items:stretch;margin:4px 0 10px}
.tsd-stamp{
  display:flex;
  align-items:stretch;
  justify-content:center;
  min-width:0;
}
.tsd-stamp img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.daily-status{border:0;border-radius:19px;background:#0d0d0d;color:#fff;padding:10px 13px;display:flex;flex-direction:column;justify-content:center;gap:11px;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.daily-status small{font-size:11px;letter-spacing:4px;font-weight:700}
.daily-status strong{display:block;background:var(--red);border-radius:12px;padding:10px;font-size:22px;font-weight:900}.daily-status.paid{cursor:default}.daily-status.paid strong{filter:saturate(.95)}
.im365-badge{background:#0b0b0b;border-radius:17px;padding:8px;color:#fff;min-width:0}
.im365-badge img{
  display:block;
  width:100%;
  height:34px;
  object-fit:contain;
  object-position:center;
  border-radius:3px;
}
.badge-bars{height:62px;display:flex;gap:5px;align-items:flex-end;padding:7px 4px 4px}
.badge-bar{flex:1;background:#676767;border-radius:2px 2px 0 0;position:relative;overflow:hidden;min-width:0}
.badge-bar:nth-child(1){height:42%}.badge-bar:nth-child(2){height:54%}.badge-bar:nth-child(3){height:66%}.badge-bar:nth-child(4){height:78%}.badge-bar:nth-child(5){height:90%}.badge-bar:nth-child(6){height:100%}
.badge-bar::after{content:"";position:absolute;inset:auto 0 0;height:var(--fill,0%);background:var(--red);transition:height .35s ease}
.badge-footer{display:flex;justify-content:space-between;gap:5px;font-size:9px;white-space:nowrap}.badge-footer b{overflow:hidden;text-overflow:ellipsis}

.hero-card{min-height:505px;border-radius:18px;overflow:hidden;position:relative;background:#0b0b0b center/cover no-repeat;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 37%,rgba(0,0,0,.20) 72%,rgba(0,0,0,.16) 100%)}
.hero-content{position:relative;z-index:2;min-height:505px;padding:25px 21px 16px;display:flex;flex-direction:column}
.hero-edit{position:absolute;right:12px;top:12px;z-index:4;border:1px solid rgba(255,255,255,.32);background:rgba(0,0,0,.35);color:#fff;border-radius:50%;width:34px;height:34px}
.hero-title{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:75px;line-height:.88;letter-spacing:1px;max-width:340px}
.hero-day{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:36px;color:#bdbdbd;margin-top:6px}.hero-day b{color:#fff}
.hero-activities{margin-top:33px;display:grid;gap:15px;max-width:280px}
.hero-activity{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.hero-activity .icon{font-size:24px}.hero-activity strong{display:block;font-size:13px;letter-spacing:2px}.hero-activity small{display:block;font-size:12px;letter-spacing:2px;margin-top:3px}
.hero-empty{font-size:14px;color:#ddd;letter-spacing:.5px}
.hero-bottom{margin-top:auto}.hero-date{font-size:11px;letter-spacing:4px;margin-bottom:14px;border-top:1px solid rgba(255,255,255,.42);padding-top:14px;width:220px}
.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn{border:0;border-radius:13px;padding:13px 15px;font-weight:900}
.btn.full{width:100%}.btn.black{background:#0c0c0c;color:#fff}.btn.soft{background:#ededeb;color:#111}
.outline-light{background:rgba(0,0,0,.10);border:1px solid #fff;color:#fff}.solid-light{background:#fff;color:#111}
.hero-actions .btn{font-size:14px;min-height:54px}

.next-card{display:grid;grid-template-columns:1fr 123px;gap:4px;margin-top:13px;padding:17px;background:#fff;border-radius:19px;box-shadow:0 7px 18px rgba(0,0,0,.04)}
.eyebrow{font-size:9px;letter-spacing:4px;font-weight:900;color:#8d8d8d;margin:0 0 9px}
.next-main{display:flex;align-items:center;gap:15px}.next-medal{width:67px;height:67px;border-radius:50%;display:grid;place-items:center;background:#f3f0e8;font-size:28px}
.next-main h2{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:30px;letter-spacing:1px;margin:0}.next-main p{font-size:18px;color:#666;margin:5px 0 0}
.next-right{border-left:1px solid #e7e7e4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.next-right strong{font-size:44px;line-height:1}.next-right span{font-size:11px;color:#666;letter-spacing:1px;margin-top:5px}
.next-progress{grid-column:1/-1;display:flex;gap:3px;margin-top:12px}.progress-cell{height:13px;flex:1;background:#e1e1df;border-radius:2px}.progress-cell.done{background:#090909}
.next-caption{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:12px;font-size:12px}.next-caption span{font-size:22px}

.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.metrics article{background:#fff;border-radius:18px;padding:16px 15px;min-height:127px;box-shadow:0 7px 18px rgba(0,0,0,.04);display:flex;flex-direction:column}
.metric-icon{font-size:18px}.metrics strong{font-size:31px;margin-top:auto}.metrics small{font-size:9px;color:#70706e;letter-spacing:.6px;margin-top:4px}
.brand-banner{display:block;position:relative;overflow:hidden;height:130px;border-radius:18px;margin-top:13px;background:#111;text-decoration:none;box-shadow:0 7px 18px rgba(0,0,0,.04)}
.brand-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.bottom-nav{position:fixed;z-index:15;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,620px);height:82px;background:rgba(250,250,248,.96);border-top:1px solid #e1e1de;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 6px max(7px,env(safe-area-inset-bottom));backdrop-filter:blur(13px)}
.nav-btn{border:0;background:none;color:#8d8d8b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.nav-btn span{font-size:25px}.nav-btn small{font-size:9px}.nav-btn.active{color:#111;font-weight:900}

.screen-title{padding:22px 7px 15px}.screen-title p{font-size:10px;letter-spacing:4px;font-weight:900;margin:0}.screen-title h1{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:49px;letter-spacing:1px;margin:3px 0}.screen-title span{color:#777;font-size:13px}
.journey-summary{background:#111;color:#fff;border-radius:22px;padding:24px;margin-bottom:13px}.journey-summary strong{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:83px}.journey-summary span{font-size:34px;color:#aaa}.journey-summary p{letter-spacing:2px;font-weight:900}
.patent-list{display:grid;gap:10px}.patent-row{background:#fff;border-radius:18px;padding:16px;display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px}.patent-row.locked{opacity:.45}.patent-dot{width:55px;height:55px;border-radius:50%;background:#eee;display:grid;place-items:center;font-size:21px}.patent-row h3{margin:0}.patent-row p{margin:3px 0 0;color:#777}.patent-row b{font-size:12px}
.history-list{display:grid;gap:9px}.history-row{background:#fff;border-radius:17px;padding:16px;display:flex;justify-content:space-between;gap:15px}.history-row strong{display:block}.history-row span{display:block;color:#777;font-size:12px;margin-top:4px}.history-row time{color:#999;font-size:11px}
.empty-card{background:#fff;border-radius:18px;padding:35px;text-align:center;color:#999}

.profile-card{background:#fff;border-radius:20px;padding:18px;margin-bottom:12px}.profile-card h2{margin:0 0 8px}.profile-card label{font-weight:800;font-size:12px}.profile-card input[type=text],.profile-card input:not([type]){display:block;width:100%;margin:8px 0 12px;border:1px solid #ddd;background:#f8f8f6;border-radius:13px;padding:13px}
.helper{color:#777;font-size:12px;line-height:1.45}.hero-preview{height:200px;border-radius:16px;background:#111 center/cover no-repeat;margin:13px 0}
.file-button{display:block;text-align:center;background:#111;color:#fff;border-radius:13px;padding:14px;font-weight:900}.profile-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}


.profile-subtitle{font-size:9px;letter-spacing:3px;font-weight:900;color:#999;margin:16px 0 9px}
.template-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.template-option{height:82px;border:2px solid transparent;border-radius:13px;color:#fff;padding:8px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;overflow:hidden}
.template-option span{font-size:10px;opacity:.7}.template-option b{font-size:9px;letter-spacing:.6px}.template-option.selected{border-color:#ff1f2d;box-shadow:0 0 0 2px rgba(255,31,45,.12)}
.template-dark{background:linear-gradient(145deg,#222,#050505)}.template-red{background:linear-gradient(145deg,#090909 0 43%,#ff1f2d 43% 58%,#111 58%)}.template-stripes{background:linear-gradient(155deg,#111 0 25%,#555 25% 42%,#222 42% 60%,#777 60% 77%,#090909 77%)}.template-grid-bg{background-color:#111;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:12px 12px}
.profile-activities{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.profile-activities span{background:#f0f0ed;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:800}.profile-activities small{color:#999}
.crop-modal canvas{display:block;width:100%;height:auto;max-height:48vh;object-fit:contain;background:#111;border-radius:16px;margin:12px auto 18px}.crop-control{margin:13px 0}.crop-control label{display:flex;justify-content:space-between;font-size:11px;font-weight:900;color:#666;margin-bottom:5px}.crop-control input{width:100%;accent-color:#111}

.modal-backdrop{display:none;position:fixed;z-index:40;inset:0;background:rgba(0,0,0,.58);align-items:flex-end;justify-content:center}.modal-backdrop.open{display:flex}
.modal{position:relative;background:#fff;width:min(100%,620px);max-height:92vh;overflow:auto;border-radius:28px 28px 0 0;padding:24px}.modal h2{font-size:27px;margin:0 0 18px}.modal-close{position:absolute;right:18px;top:14px;border:0;background:#eee;border-radius:50%;width:39px;height:39px;font-size:23px}
.field-block{margin-bottom:18px}.field-label{display:block;font-weight:900;font-size:12px;margin-bottom:9px}.field-label span{font-weight:400;color:#aaa}
.field-block input,.custom-row input{width:100%;border:1px solid #ddd;border-radius:14px;padding:15px;background:#fafafa}
.activity-chips,.feeling-options,.preset-grid{display:flex;flex-wrap:wrap;gap:8px}.activity-chip,.feeling-option,.preset-option{border:1px solid #ddd;border-radius:999px;background:#fff;padding:10px 13px;font-weight:800}.activity-chip.selected,.feeling-option.selected,.preset-option.selected{background:#111;color:#fff;border-color:#111}
.text-link{border:0;background:none;padding:10px 0 0;color:#666;font-weight:800}.custom-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:18px 0}.custom-row button{border:0;border-radius:13px;background:#111;color:#fff;font-weight:900;padding:0 13px}
.selected-preview{display:grid;gap:7px;margin-bottom:17px}.selected-preview span{color:#777;font-size:13px}.success-modal{text-align:center}.success-big{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:48px}.success-date{color:#999;letter-spacing:2px;font-size:10px}.success-symbol{font-size:76px;margin:15px}.success-modal h2{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:37px;letter-spacing:1px}.check-circle{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:50px;margin:20px auto}
.toast{position:fixed;z-index:60;left:50%;bottom:100px;transform:translate(-50%,20px);opacity:0;background:#111;color:#fff;padding:11px 16px;border-radius:999px;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:470px){
  .dashboard-header{grid-template-columns:82px 1fr 102px;gap:7px}.tsd-stamp img{width:100%;height:100%;object-fit:contain}.daily-status small{font-size:8px;letter-spacing:3px}.daily-status strong{font-size:17px}.im365-badge{padding:6px}.im365-badge img{height:27px}.badge-bars{height:51px;gap:4px}.badge-footer{font-size:7px}
  .hero-card,.hero-content{min-height:470px}.hero-title{font-size:63px}.hero-day{font-size:30px}.hero-actions{grid-template-columns:1fr}.next-main h2{font-size:24px}.next-right strong{font-size:38px}.metrics strong{font-size:25px}
}

/* MVP 1.7 — ajustes finais do cabeçalho e jornada */
.dashboard-header{grid-template-columns:108px 1fr 108px;align-items:stretch}
.tsd-stamp,.im365-badge{aspect-ratio:1/1;height:auto}
.im365-badge{border-radius:0;padding:7px;display:flex;flex-direction:column;justify-content:space-between}
.im365-badge img{height:31%;flex:0 0 auto}
.badge-bars{height:auto;flex:1;min-height:0;padding:5px 3px 3px}
.badge-footer{font-size:11px;line-height:1.05;gap:3px;align-items:flex-end}
.badge-footer b:last-child{text-align:right}
.next-card{grid-template-columns:1fr 123px;gap:10px}
.rank-flow{display:grid;grid-template-columns:minmax(0,.85fr) 28px minmax(0,1.15fr);align-items:end;gap:7px;min-width:0}
.rank-current,.rank-next{min-width:0}
.rank-line{display:flex;align-items:center;gap:9px;min-width:0}
.rank-flow h2{font-family:Impact,"Arial Black",Arial,sans-serif;margin:0;letter-spacing:.7px;line-height:1;font-size:22px;white-space:nowrap}
.rank-current h2{font-size:18px}
.rank-next h2{font-size:25px}
.rank-current .next-medal{width:48px;height:48px;flex:0 0 48px;font-size:20px}
.rank-arrow{font-size:28px;line-height:1;text-align:center;padding-bottom:10px}
@media(max-width:470px){
  .dashboard-header{grid-template-columns:82px 1fr 82px;gap:7px}
  .im365-badge{padding:5px}.im365-badge img{height:29%}.badge-bars{gap:3px;padding:3px 2px 2px}.badge-footer{font-size:8.5px;font-weight:900}
  .next-card{grid-template-columns:1fr 105px;padding:15px 13px;gap:7px}
  .rank-flow{grid-template-columns:minmax(0,.78fr) 20px minmax(0,1.22fr);gap:4px}
  .rank-flow .eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:7px}
  .rank-flow h2{font-size:17px}.rank-current h2{font-size:14px}.rank-next h2{font-size:20px}
  .rank-current .next-medal{width:38px;height:38px;flex-basis:38px;font-size:16px}.rank-line{gap:6px}.rank-arrow{font-size:21px;padding-bottom:8px}
  .next-right strong{font-size:38px}.next-right span{font-size:9px}
}


/* MVP 1.7.1 — refinamentos finais para teste definitivo */
.dashboard-header{grid-template-columns:108px 1fr 108px;gap:10px;align-items:stretch}
.tsd-stamp,.im365-badge{aspect-ratio:1/1;border-radius:18px;overflow:hidden}
.tsd-stamp img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:18px}
.im365-badge{background:#0b0b0b;padding:7px;display:flex;flex-direction:column;justify-content:space-between}
.im365-badge img{display:block;width:100%;height:auto;max-height:30%;object-fit:contain;object-position:center;border-radius:7px;flex:0 0 auto}
.badge-bars{height:auto;flex:1;min-height:0;padding:5px 3px 3px;gap:4px}
.badge-footer{font-size:11px;line-height:1;font-weight:900;gap:3px;align-items:flex-end;padding:0 1px 1px}
.badge-footer b:first-child{font-size:11px}.badge-footer b:last-child{font-size:10px;text-align:right}

.next-card{grid-template-columns:minmax(0,1fr) 116px;gap:10px;padding:18px 17px}
.rank-flow{display:grid;grid-template-columns:minmax(0,.9fr) 22px minmax(0,1.1fr);align-items:center;gap:7px;min-width:0}
.rank-current,.rank-next{min-width:0}
.rank-flow .eyebrow{font-size:8px;letter-spacing:3px;margin-bottom:8px;white-space:nowrap}
.rank-name-row{display:flex;align-items:center;gap:8px;min-width:0}
.rank-mini-icon{width:34px;height:34px;border-radius:50%;background:#f2efe7;display:grid;place-items:center;flex:0 0 34px;color:#111}
.rank-mini-icon svg{width:20px;height:20px;display:block}
.rank-flow h2{font-family:Impact,"Arial Black",Arial,sans-serif;margin:0;letter-spacing:.5px;line-height:.98;white-space:normal;overflow-wrap:anywhere}
.rank-current h2{font-size:18px}.rank-next h2{font-size:25px}
.rank-arrow{font-size:25px;line-height:1;text-align:center;padding-top:18px}
.next-right{min-width:0}.next-right strong{font-size:46px}.next-right span{font-size:10px;line-height:1.3}

.patent-row{grid-template-columns:62px minmax(0,1fr) 42px;padding:14px 16px}
.patent-row.locked{opacity:.5}
.patent-dot{width:55px;height:55px;border-radius:50%;background:#eee;display:grid;place-items:center}
.patent-dot svg{width:31px;height:31px;display:block}
.patent-status{width:34px;height:34px;display:grid;place-items:center;justify-self:end;color:#111}
.patent-status svg{width:25px;height:25px;display:block}
.patent-row.locked .patent-status{color:#555}
.patent-row h3{font-size:18px;line-height:1.05}.patent-row p{font-size:13px}

@media(max-width:470px){
  .dashboard-header{grid-template-columns:82px 1fr 82px;gap:7px}
  .tsd-stamp,.im365-badge{border-radius:14px}
  .tsd-stamp img{border-radius:14px}
  .im365-badge{padding:5px}.im365-badge img{max-height:29%;border-radius:5px}
  .badge-bars{gap:3px;padding:3px 2px 2px}
  .badge-footer{font-size:9px}.badge-footer b:first-child{font-size:9px}.badge-footer b:last-child{font-size:8.5px}
  .next-card{grid-template-columns:minmax(0,1fr) 98px;padding:15px 13px;gap:7px}
  .rank-flow{grid-template-columns:minmax(0,.92fr) 16px minmax(0,1.08fr);gap:4px}
  .rank-flow .eyebrow{font-size:6.7px;letter-spacing:1.7px;margin-bottom:6px}
  .rank-name-row{gap:5px}.rank-mini-icon{width:27px;height:27px;flex-basis:27px}.rank-mini-icon svg{width:16px;height:16px}
  .rank-current h2{font-size:13.5px}.rank-next h2{font-size:19px}
  .rank-arrow{font-size:19px;padding-top:15px}
  .next-right strong{font-size:38px}.next-right span{font-size:8px}
  .patent-row{grid-template-columns:55px minmax(0,1fr) 34px;gap:10px;padding:14px}
  .patent-dot{width:50px;height:50px}.patent-dot svg{width:28px;height:28px}.patent-status{width:30px;height:30px}.patent-status svg{width:22px;height:22px}
}


/* ===== MVP 1.7.2 — final visual corrections ===== */
/* Header: preserve the full official marks and keep the three blocks aligned. */
.dashboard-header{align-items:stretch}
.tsd-stamp{aspect-ratio:1/1;border-radius:0!important;overflow:visible!important;padding:0!important;min-width:0}
.tsd-stamp img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important;transform:none!important}
.im365-badge{aspect-ratio:1/1;overflow:hidden}
.im365-badge img{width:100%;height:auto;max-height:30%;object-fit:contain;object-position:center}

/* Personalized identity on the Hero. */
.hero-user{font-size:10px;line-height:1;letter-spacing:3.4px;font-weight:900;color:rgba(255,255,255,.76);text-transform:uppercase;margin-bottom:10px;max-width:72%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Journey summary: keep 1/365 visually strong without the number 1 overpowering the card. */
.journey-summary{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:4px;padding:24px 24px 22px}
.journey-summary strong{font-size:58px!important;line-height:.88}
.journey-summary span{font-size:29px!important;line-height:1;color:#aaa;padding-bottom:3px}
.journey-summary p{grid-column:1/-1;margin:15px 0 0;font-size:15px;line-height:1.15;letter-spacing:2.2px}

/* Next-patent progress: a true within-stage progress meter. */
.next-progress{gap:4px;align-items:stretch}
.progress-cell{position:relative;overflow:hidden;background:#e1e1df;border-radius:3px;height:13px}
.progress-cell::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--cell-fill,0%);background:var(--red);transition:width .3s ease}
.progress-cell.done{background:#e1e1df}

/* Slightly more breathing room in the next-conquest card on narrow phones. */
@media (max-width:430px){
  .next-card{grid-template-columns:minmax(0,1fr) 92px;padding:15px 13px 16px;gap:7px}
  .rank-flow{grid-template-columns:minmax(0,.9fr) 14px minmax(0,1.1fr);gap:4px}
  .rank-flow .eyebrow{font-size:6.4px;letter-spacing:1.6px;margin-bottom:5px}
  .rank-current h2{font-size:13px}.rank-next h2{font-size:18px}
  .rank-mini-icon{width:28px;height:28px;flex-basis:28px}.rank-mini-icon svg{width:16px;height:16px}
  .rank-arrow{font-size:18px;padding-top:13px}
  .next-right strong{font-size:38px}.next-right span{font-size:8.5px;line-height:1.2}
  .journey-summary strong{font-size:54px!important}.journey-summary span{font-size:27px!important}
  .hero-user{font-size:9px;letter-spacing:2.8px}
}


/* TSD MVP 1.7.3 — refinamentos finais de legibilidade */
.tsd-stamp{overflow:hidden;border-radius:18px}
.tsd-stamp img{width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%}

/* Jornada: contador proporcional, sem dominar o card */
.journey-summary{display:grid;grid-template-columns:auto auto 1fr;align-items:end;column-gap:6px;padding:24px 24px 22px}
.journey-summary strong{font-size:44px!important;line-height:.92;font-family:Impact,"Arial Black",Arial,sans-serif}
.journey-summary span{font-size:25px!important;line-height:1;color:#aaa;padding-bottom:2px}
.journey-summary p{grid-column:1/-1;margin:15px 0 0;font-size:15px;line-height:1.15;letter-spacing:2.2px}

/* Navegação inferior: mais contraste para ícones e rótulos inativos */
.nav-btn{color:#555!important;font-weight:700}
.nav-btn span{font-size:27px;line-height:1;color:currentColor}
.nav-btn small{font-size:10px;letter-spacing:.15px;color:currentColor}
.nav-btn.active{color:#0b0b0b!important;font-weight:900}

@media (max-width:430px){
  .journey-summary strong{font-size:42px!important}
  .journey-summary span{font-size:24px!important}
  .journey-summary p{font-size:14px}
  .nav-btn span{font-size:26px}
  .nav-btn small{font-size:9.5px}
}


/* ===== TSD MVP 1.8.0 — Perfil biométrico + Protocolo TSD ===== */
.profile-data-card select{
  width:100%;border:1px solid #ddd;border-radius:10px;padding:13px 12px;background:#fff;color:#111;font:inherit
}
.profile-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-privacy{font-size:10px;color:#777;margin:4px 0 12px}

.protocol-home-card{
  width:100%;border:0;border-radius:20px;background:#101315;color:#fff;padding:18px 18px;
  display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;text-align:left;cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.10);margin-bottom:14px
}
.protocol-home-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.protocol-kicker{font-size:8px;letter-spacing:3px;color:#8e969a;font-weight:900}
.protocol-home-copy strong{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:24px;letter-spacing:.7px}
.protocol-home-copy small{font-size:11px;color:#aeb5b8}
.protocol-home-score{width:70px;height:70px;border-radius:50%;display:grid;place-content:center;text-align:center;
  border:7px solid #394044;color:#fff;line-height:.8}
.protocol-home-score b{font-size:23px}.protocol-home-score span{font-size:8px;color:#aeb5b8}
.protocol-home-score.good{border-color:#4dd37a}.protocol-home-score.medium{border-color:#f3c94f}.protocol-home-score.bad{border-color:#ef5959}
.protocol-home-arrow{font-size:23px;color:#fff}

.protocol-view{background:linear-gradient(180deg,#0a0d0f,#11171a);color:#f7f7f7;min-height:100vh;padding-bottom:110px}
.protocol-topbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:9px;padding:23px 18px 15px}
.protocol-topbar p{font-size:8px;letter-spacing:4px;margin:0 0 4px;color:#879197;font-weight:900}
.protocol-topbar h1{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:30px;letter-spacing:.6px;margin:0}
.protocol-back,.protocol-info-btn{width:38px;height:38px;border-radius:50%;border:1px solid #394247;background:#141a1d;color:#fff;font-size:20px}
.protocol-info-btn{font-size:15px;font-weight:900}

.protocol-score-card{margin:0 16px 14px;padding:20px;border-radius:24px;background:linear-gradient(145deg,#151c20,#0d1113);
  border:1px solid #273034;display:grid;grid-template-columns:135px 1fr;gap:18px;align-items:center}
.protocol-ring{--score:0;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#6f777b calc(var(--score)*1%),#283034 0);position:relative}
.protocol-ring::after{content:"";position:absolute;inset:10px;border-radius:50%;background:#11171a}
.protocol-ring[data-state="good"]{background:conic-gradient(#4dd37a calc(var(--score)*1%),#283034 0)}
.protocol-ring[data-state="medium"]{background:conic-gradient(#f3c94f calc(var(--score)*1%),#283034 0)}
.protocol-ring[data-state="bad"]{background:conic-gradient(#ef5959 calc(var(--score)*1%),#283034 0)}
.protocol-ring-inner{z-index:1;text-align:center}.protocol-ring-inner strong{font-size:43px;line-height:.9}.protocol-ring-inner span{font-size:11px;color:#90999d}
.protocol-score-copy{display:flex;flex-direction:column;gap:6px}
.protocol-score-copy>span{font-size:9px;letter-spacing:2.5px;color:#8e969a;font-weight:900}
.protocol-score-copy>strong{font-size:17px;line-height:1.1}
.protocol-score-copy>small{font-size:11px;color:#90999d;line-height:1.35}

.protocol-reference-strip{margin:0 16px 14px;padding:12px 14px;border-radius:14px;background:#171d20;border:1px solid #293237;display:flex;flex-direction:column;gap:3px}
.protocol-reference-strip span{font-size:7px;letter-spacing:2.5px;color:#697479;font-weight:900}
.protocol-reference-strip b{font-size:11px;color:#dfe4e6;font-weight:700}

.protocol-form{padding:0 16px;display:grid;gap:11px}
.protocol-pillar{background:#151b1e;border:1px solid #273136;border-radius:19px;padding:15px}
.pillar-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}
.pillar-icon{width:42px;height:42px;border-radius:12px;background:#222a2e;display:grid;place-items:center;font-size:23px}
.pillar-head>div:nth-child(2){display:flex;flex-direction:column;gap:2px}
.pillar-head span{font-size:8px;letter-spacing:2.2px;color:#869196;font-weight:900}
.pillar-head strong{font-size:13px;color:#f7f7f7}
.pillar-status{font-size:9px;font-weight:900;border:1px solid #424b4f;border-radius:999px;padding:7px 8px;color:#8d969a;min-width:50px;text-align:center}
.pillar-status.good{color:#59dc83;border-color:#2d8d4d;background:rgba(45,141,77,.12)}
.pillar-status.medium{color:#f3ca4f;border-color:#9b802c;background:rgba(155,128,44,.12)}
.pillar-status.bad{color:#f06060;border-color:#9e3939;background:rgba(158,57,57,.12)}
.protocol-pillar>p{font-size:10px;color:#808b90;margin:10px 0 0}
.protocol-number-row{margin-top:13px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}
.protocol-number-row input{font-size:26px;font-weight:900;color:#fff;background:#0e1315;border:1px solid #394348;border-radius:12px;padding:10px 12px;width:100%}
.protocol-number-row span{font-size:11px;color:#8b9599}
.pillar-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px}
.pillar-legend b{font-size:7px;text-align:center;color:#687277;font-weight:800}
.pillar-scale{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr)}
.pillar-scale span{font-size:7px;text-align:center;color:#687277}

.food-pillar{padding-bottom:13px}
.food-question{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #273034}
.food-question p{font-size:10px;color:#c3c9cc;margin:0;line-height:1.35}
.food-question>div{display:flex;gap:5px}
.food-question button{border:1px solid #414b50;background:#0e1315;color:#929b9f;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:900}
.food-question button.selected{background:#fff;color:#111;border-color:#fff}

.protocol-history-card{margin:14px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.protocol-history-card>div{background:#151b1e;border:1px solid #273136;border-radius:16px;padding:13px 11px;display:flex;flex-direction:column;gap:5px}
.protocol-history-card span{font-size:7px;letter-spacing:1.2px;color:#788388;font-weight:900}
.protocol-history-card strong{font-size:24px}.protocol-history-card .up{color:#4dd37a}.protocol-history-card .down{color:#ef5959}
.protocol-save{margin:0 16px;width:calc(100% - 32px);border:0;border-radius:14px;padding:16px;background:#fff;color:#0b0b0b;font-size:12px;font-weight:900;letter-spacing:.5px}
.protocol-disclaimer{margin:10px 22px 0;text-align:center;font-size:8px;line-height:1.4;color:#657075}

.protocol-info-sheet{background:#101416;color:#fff}
.protocol-info-sheet h2{color:#fff}
.protocol-rules{display:grid;gap:8px;margin:14px 0}
.protocol-rules p{background:#171d20;border-radius:12px;padding:10px 12px;margin:0;display:flex;flex-direction:column;gap:3px}
.protocol-rules b{font-size:9px;letter-spacing:1.5px}.protocol-rules span{font-size:10px;color:#a8b0b3;line-height:1.35}
.protocol-score-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}
.protocol-score-rules span{border-radius:12px;padding:10px 6px;text-align:center;font-size:9px;font-weight:900;color:#111}
.protocol-score-rules .good{background:#4dd37a}.protocol-score-rules .medium{background:#f3c94f}.protocol-score-rules .bad{background:#ef5959}

@media(max-width:430px){
  .profile-two-cols{grid-template-columns:1fr}
  .protocol-home-card{padding:15px 14px;gap:10px}.protocol-home-copy strong{font-size:20px}.protocol-home-score{width:60px;height:60px;border-width:6px}
  .protocol-score-card{grid-template-columns:112px 1fr;padding:16px;gap:13px}.protocol-ring{width:108px;height:108px}.protocol-ring-inner strong{font-size:36px}
  .pillar-head{grid-template-columns:38px minmax(0,1fr) auto}.pillar-icon{width:38px;height:38px}
  .protocol-history-card{gap:6px}.protocol-history-card strong{font-size:21px}
}

/* ===== MVP 1.8.1 — biometria, protocolo e Evoline ===== */
.biometric-panel{margin-top:18px;padding:17px;border:2px solid #111;border-radius:18px;background:#f4f4f1}
.biometric-title{display:flex;flex-direction:column;gap:3px;margin-bottom:13px}.biometric-title>strong{font-size:11px;letter-spacing:2px}.biometric-title>span{font-size:18px;font-weight:900}.biometric-title>small{font-size:10px;color:#777}
.biometric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.biometric-box{display:block!important;background:#fff;border:1.5px solid #cfcfca;border-radius:15px;padding:12px;cursor:text}.biometric-box>span{font-size:9px;letter-spacing:2px;color:#777}.biometric-box>div{display:flex;align-items:end;gap:5px}.biometric-box input{min-width:0!important;width:100%!important;margin:4px 0 0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;font-size:29px!important;font-weight:900!important;outline:none}.biometric-box input::placeholder{font-size:15px;color:#aaa}.biometric-box b{font-size:11px;color:#777;padding-bottom:4px}
.hydration-inline-ref{margin-top:12px;padding:10px 11px;border-radius:12px;background:#0e1315;border:1px solid #394348;display:flex;flex-direction:column;gap:3px}.hydration-inline-ref>span{font-size:7px;letter-spacing:2px;color:#7f8a8f;font-weight:900}.hydration-inline-ref>b{font-size:12px;color:#fff}.hydration-inline-ref small{display:block;margin-top:3px;color:#8f999d;font-size:8px;font-weight:700;line-height:1.35}
.food-question button{min-width:48px;min-height:38px;padding:9px 10px;touch-action:manipulation;pointer-events:auto;position:relative;z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent}.food-question button[data-value="yes"].selected{background:#4dd37a;color:#08130c;border-color:#4dd37a}.food-question button[data-value="no"].selected{background:#ef5959;color:#fff;border-color:#ef5959}
.evoline-card{display:block;padding:15px 16px 17px}.evoline-toggle{display:grid;grid-template-columns:1fr 1fr;background:#efefec;border-radius:999px;padding:3px;margin-bottom:16px}.evoline-toggle button{border:0;border-radius:999px;background:transparent;padding:9px 8px;font-size:9px;font-weight:900;letter-spacing:1px;color:#777}.evoline-toggle button.active{background:#111;color:#fff;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.evo-stage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.evo-stage-head h2,.evoline-full-head h2{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:28px;letter-spacing:.7px;margin:0}.evo-next{text-align:right;display:flex;flex-direction:column;gap:3px}.evo-next span{font-size:7px;letter-spacing:2px;color:#999;font-weight:900}.evo-next strong{font-size:15px}.evo-stage-meta{display:flex;justify-content:space-between;gap:10px;margin-top:17px;font-size:9px;font-weight:900}.evo-stage-meta span{color:#666;text-align:right}.evo-stage-track{height:14px;background:#e1e1dd;border-radius:999px;overflow:hidden;margin-top:8px}.evo-stage-track span{display:block;height:100%;background:#111;border-radius:inherit;transition:width .25s ease}.evo-stage-limits{display:flex;justify-content:space-between;color:#999;font-size:8px;font-weight:800;margin-top:5px}
.evoline-full-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.evoline-full-head>strong{font-size:17px}.evoline-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:19px}.evoline-segment{height:16px;border-radius:3px;background:#dfdfdb;overflow:hidden}.evoline-segment span{display:block;height:100%;background:#111}.evoline-milestones,.evoline-names{display:grid;grid-template-columns:repeat(7,1fr);margin-top:6px}.evoline-milestones span{font-size:7px;color:#999;text-align:center}.evoline-milestones span:first-child,.evoline-names span:first-child{text-align:left}.evoline-milestones span:last-child,.evoline-names span:last-child{text-align:right}.evoline-names span{font-size:6px;font-weight:900;text-align:center;overflow:hidden}.evoline-full-view[hidden],.evo-stage-view[hidden]{display:none!important}
@media(max-width:430px){.biometric-grid{grid-template-columns:1fr 1fr}.biometric-panel{padding:14px}.evo-stage-head h2,.evoline-full-head h2{font-size:25px}.evoline-names span{font-size:5.5px;letter-spacing:-.1px}}

/* ===== MVP 1.8.2 refinements ===== */
.hero-edit{width:auto;height:38px;padding:0 13px;border-radius:999px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.96);color:#111;border:1px solid #fff;font-size:13px;font-weight:900;letter-spacing:.4px;box-shadow:0 5px 18px rgba(0,0,0,.25)}
.hero-edit span{font-size:8px;letter-spacing:1.2px;white-space:nowrap}
.evo-stage-head h2{font-family:inherit!important;font-size:21px!important;font-weight:600!important;letter-spacing:.3px!important}.evo-next strong{font-size:19px!important;font-weight:900!important;letter-spacing:.2px}.evo-stage-meta{margin-top:20px}
.protocol-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.protocol-choices button{-webkit-appearance:none;appearance:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;min-height:64px;border:1.5px solid #414b50;border-radius:14px;background:#0e1315;color:#d8dddf;padding:10px 7px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;text-align:center;cursor:pointer;position:relative;z-index:3}.protocol-choices button b{font-size:9px;line-height:1.15}.protocol-choices button small{font-size:8px;color:#8f999d;line-height:1.25}.protocol-choices button[data-value="good"].selected{background:#183a26;border-color:#4dd37a;color:#74e69b}.protocol-choices button[data-value="medium"].selected{background:#443b18;border-color:#e4c44f;color:#f0d66d}.protocol-choices button[data-value="bad"].selected{background:#431f22;border-color:#ef5959;color:#ff7777}.protocol-choices button.selected small{color:inherit}.protocol-choices.stacked{grid-template-columns:1fr}.protocol-choices.stacked button{min-height:58px;align-items:flex-start;text-align:left;padding:11px 14px}.protocol-choices.stacked button b{font-size:11px}.protocol-choices.stacked button small{font-size:9px}
@media(max-width:430px){.hero-edit{right:10px;top:10px;height:36px;padding:0 10px}.hero-edit span{font-size:7px}.protocol-choices{gap:6px}.protocol-choices button{padding:9px 5px;min-height:66px}.protocol-choices button b{font-size:8px}.protocol-choices button small{font-size:7px}.evo-stage-head h2{font-size:19px!important}.evo-next strong{font-size:20px!important}}


/* ===== TSD MVP 1.8.3 — legibilidade do Protocolo ===== */
.protocol-choices button{min-height:78px;padding:14px 10px;border-width:2px}
.protocol-choices button b{font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.01em;color:#f3f5f5}
.protocol-choices.stacked button{min-height:78px;padding:15px 18px;gap:7px}
.protocol-choices.stacked button b{font-size:15px;line-height:1.2}
.protocol-choices.stacked button small{font-size:13px;line-height:1.35;color:#c4cacc}
.protocol-choices button.selected b,.protocol-choices button.selected small{color:inherit}
@media(max-width:430px){
 .protocol-choices{gap:8px}
 .protocol-choices button{min-height:82px;padding:13px 7px}
 .protocol-choices button b{font-size:12px!important;line-height:1.2}
 .protocol-choices.stacked button{min-height:82px;padding:15px 16px}
 .protocol-choices.stacked button b{font-size:15px!important}
 .protocol-choices.stacked button small{font-size:12px!important;line-height:1.35;color:#c8cdcf}
}
