/* Member portal + admin studio additions. Loaded after style.css. */
.member-nav{flex-wrap:nowrap}
.member-nav a{white-space:nowrap;padding:.35rem 0;border-bottom:1px solid transparent}
.member-nav a.current{color:var(--sand)!important;border-bottom-color:var(--copper)}
.count{display:inline-block;min-width:1.2rem;padding:.05rem .35rem;border-radius:99px;background:var(--copper);color:#1b110d;font-size:.6rem;text-align:center}
@media(max-width:1100px){
  .app-nav{flex-wrap:wrap;row-gap:.6rem}
  .app-nav .member-nav{order:3;width:100%;overflow-x:auto;gap:1.1rem;padding-bottom:.25rem;scrollbar-width:none}
  .app-nav .member-nav::-webkit-scrollbar{display:none}
  .app-nav .member-nav a:not(.keep){display:inline-block}
}

/* Today */
.today-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;margin-bottom:1rem}
.today-side{display:grid;gap:.75rem;align-content:start}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.panel-head h2{margin:0;font-size:2rem}
.panel-head .eyebrow{margin-bottom:.6rem}
.streak{text-align:center;padding:.6rem 1rem;border:1px solid var(--line);border-radius:.8rem;min-width:5.5rem}
.streak strong{display:block;font-family:var(--font-editorial);font-size:2.2rem;line-height:1;color:var(--copper)}
.streak span{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.habit{display:flex;align-items:center;gap:.9rem;padding:.95rem 1rem;margin-bottom:.55rem;border:1px solid var(--line);border-radius:.7rem;cursor:pointer;transition:background .2s}
.habit:hover{background:rgba(199,160,108,.05)}
.habit input{appearance:none;flex:none;width:1.35rem;height:1.35rem;border:1.5px solid rgba(232,215,188,.45);border-radius:50%;display:grid;place-content:center;margin:0;cursor:pointer}
.habit input:checked{background:var(--copper);border-color:var(--copper)}
.habit input:checked::after{content:"✓";color:#1b110d;font-size:.8rem;font-weight:700}
.habit:has(input:checked) span{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(199,160,108,.5)}
.habit span{font-size:.9rem}
.focus-tile{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:.9rem;background:linear-gradient(145deg,rgba(199,160,108,.08),rgba(255,255,255,.015));transition:border-color .2s,transform .2s}
.focus-tile:hover{border-color:var(--copper);transform:translateY(-2px)}
.focus-tile.accent{border-color:rgba(199,160,108,.55);background:linear-gradient(145deg,rgba(199,160,108,.18),rgba(199,160,108,.04))}
.focus-tile span{color:var(--copper);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase}
.focus-tile strong{font-family:var(--font-editorial);font-size:1.45rem;font-weight:500;line-height:1.15}
.focus-tile small{color:var(--muted);font-size:.7rem}
.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lower-grid h3{font-size:1.6rem;margin:0 0 .5rem}
.checklist{list-style:none;padding:0;margin:.5rem 0 0}
.checklist li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.84rem;color:#d4c8bb}
.checklist li span::before{content:"○";margin-right:.7rem;color:#6d6158}
.checklist li.ok span::before{content:"✓";color:var(--copper)}
.checklist li small{color:var(--muted);white-space:nowrap}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.badge{padding:1rem .8rem;border:1px dashed var(--line);border-radius:.8rem;text-align:center;opacity:.55}
.badge.earned{opacity:1;border-style:solid;border-color:var(--copper);background:rgba(199,160,108,.1)}
.badge span{display:block;font-family:var(--font-editorial);font-size:2rem;color:var(--copper)}
.badge strong{display:block;font-size:.78rem;margin:.3rem 0}
.badge small{color:var(--muted);font-size:.62rem}

/* Lessons */
.phase-heading{margin:2.6rem 0 1rem;font-size:1.9rem}
.phase-heading span{color:var(--copper);font-family:var(--font-sans);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;margin-right:.6rem;vertical-align:middle}
.module-card.done{border-color:rgba(199,160,108,.45)}
.video-frame.protected{user-select:none;-webkit-user-select:none}
.protected-video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.video-watermark{position:absolute;z-index:3;pointer-events:none;color:rgba(255,255,255,.28);font-size:.72rem;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:top 1.5s ease,left 1.5s ease;white-space:nowrap}
.lesson-actions{margin:1.5rem 0}
.ask-panel summary{cursor:pointer;color:var(--copper);font-size:.8rem}
.ask-panel form{margin-top:1rem}

/* Check-in */
.week-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem}
.week-pills a{padding:.45rem .8rem;border:1px solid var(--line);border-radius:99px;font-size:.68rem;color:var(--muted)}
.week-pills a.done{color:var(--sand)}
.week-pills a.active{background:var(--copper);border-color:var(--copper);color:#1b110d}
.rating{border:0;padding:0;margin:0 0 1.3rem}
.rating legend{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);margin-bottom:.2rem}
.rating small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.6rem}
.rating div{display:flex;gap:.45rem}
.rating label{flex:1}
.rating input{position:absolute;opacity:0;pointer-events:none}
.rating span{display:block;text-align:center;padding:.7rem 0;border:1px solid var(--line);border-radius:.6rem;cursor:pointer;font-weight:600;color:var(--muted)}
.rating input:checked+span{background:var(--copper);border-color:var(--copper);color:#1b110d}
.rating input:focus-visible+span{outline:2px solid var(--sand)}
.trend-chart{width:100%;height:auto;margin-top:.5rem}
.trend-chart .grid{stroke:rgba(232,215,188,.12)}
.trend-chart text{fill:#8d7f73;font-size:11px;font-family:var(--font-sans)}
.chart-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.6rem;font-size:.7rem;color:var(--muted)}
.chart-legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.35rem;vertical-align:-1px}
.checkin-photo{width:100%;border-radius:.7rem;margin-top:1rem}

/* Before / after slider */
.compare-panel{margin-bottom:1.5rem}
.compare{position:relative;max-width:30rem;aspect-ratio:3/4;margin:0 auto;border-radius:.8rem;overflow:hidden;background:#080605}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0);border-right:2px solid var(--sand)}
.compare-before img{width:100%;height:100%}
.compare-label{position:absolute;top:.8rem;padding:.3rem .6rem;border-radius:99px;background:rgba(16,11,9,.75);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.compare-label.left{left:.8rem}.compare-label.right{right:.8rem}
.compare input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}

/* Messages */
.thread{display:flex;flex-direction:column;gap:.7rem}
.bubble{max-width:82%;padding:.9rem 1.1rem;border-radius:1rem;border:1px solid var(--line);font-size:.88rem;line-height:1.6}
.bubble p{margin:0 0 .4rem}
.bubble small{color:var(--muted);font-size:.64rem}
.bubble .bubble-context{display:block;color:var(--copper);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.35rem}
.bubble.from-dalia{align-self:flex-start;background:rgba(199,160,108,.1);border-color:rgba(199,160,108,.35);border-bottom-left-radius:.3rem}
.bubble.from-me{align-self:flex-end;background:rgba(255,255,255,.035);border-bottom-right-radius:.3rem}

/* Products, forms, misc */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}
.product-card h3{font-size:1.6rem;margin:0 0 .4rem}
.product-card p{font-size:.85rem;line-height:1.7}
.check-line{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0;color:#b9aa9c;font-size:.78rem;line-height:1.6}
.check-line input{width:auto;margin-top:.25rem;accent-color:var(--copper)}
.plan-choice small{color:var(--muted);font-size:.72rem;line-height:1.5}
.certificate-ready{border-color:var(--copper);background:linear-gradient(145deg,rgba(199,160,108,.16),rgba(199,160,108,.03))}
.certificate-ready h2{font-size:2.2rem;margin:0 0 .8rem}
.legal h2{font-size:1.6rem;margin:1.6rem 0 .3rem}.legal h2:first-child{margin-top:0}
.status-pill.ok{border-color:rgba(120,165,125,.5);color:#bfe0c2}
.status-pill.warn{border-color:rgba(199,160,108,.6);color:#ead8bd}
.status-pill.bad{border-color:rgba(190,92,75,.6);color:#f0c2b9}
.field select{appearance:auto}
button.text-link{background:none;border:0;cursor:pointer;font:inherit;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#ddd2c5}

/* Admin studio */
.admin-shell .app-nav{background:rgba(24,16,12,.97)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:0 0 1.5rem}
.stat-row.compact{min-width:26rem;margin:0}
.stat{padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.02)}
.stat strong{display:block;font-family:var(--font-editorial);font-size:2.1rem;font-weight:500;line-height:1}
.stat span{color:var(--muted);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase}
.queue{margin-bottom:1rem}
.queue h2{font-size:1.7rem;margin:0 0 .8rem}
.queue-item{display:grid;grid-template-columns:13rem 1fr auto;gap:1rem;align-items:center;padding:.85rem .2rem;border-top:1px solid var(--line);font-size:.82rem}
.queue-item:hover{background:rgba(199,160,108,.05)}
.queue-item span{color:var(--muted)}
.queue-item em{color:var(--copper);font-style:normal;font-size:.72rem;white-space:nowrap}
.toolbar{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
.toolbar .field{flex:1;min-width:12rem}
.toolbar .field:nth-child(3){flex:0 0 12rem}
tr.clickable{cursor:pointer}tr.clickable:hover td{background:rgba(199,160,108,.05)}
.sticky-tabs{position:sticky;top:4.6rem;z-index:5;padding:.6rem 0;background:rgba(16,11,9,.95)}
.admin-shell section.panel{margin-bottom:1.25rem;scroll-margin-top:9rem}
.admin-shell section.panel h2{font-size:2rem;margin:0 0 1rem}
.checkin-list{display:grid;gap:.75rem;margin-top:1.25rem}
.checkin-item{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.8rem}
.checkin-item.unreviewed{border-color:rgba(199,160,108,.55)}
.checkin-item header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.checkin-item header small{color:var(--muted);font-size:.7rem}
.checkin-item p{color:#d4c8bb;font-size:.85rem;line-height:1.6}
.scores{display:flex;flex-wrap:wrap;gap:.4rem}
.scores span{padding:.3rem .6rem;border:1px solid var(--line);border-radius:99px;font-size:.7rem;color:var(--muted)}
.scores b{color:var(--sand);margin-left:.25rem}
.checkin-thumb{width:8rem;border-radius:.5rem;margin:.6rem 0}
.assessment-view{display:grid;grid-template-columns:13rem 1fr;gap:.8rem 1.5rem;margin:1rem 0 0}
.assessment-view dt{color:var(--copper);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding-top:.2rem}
.assessment-view dd{margin:0;color:#d4c8bb;font-size:.86rem;line-height:1.7}
.plan-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.plan-row p{margin:.3rem 0 0}
.danger-zone{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}
.danger-zone summary{cursor:pointer;color:#e0a89d;font-size:.78rem}
.button.danger{background:#8c3b2e;border-color:#b0584a;color:#fff}
.upload-bar{position:relative;height:1.6rem;margin:.6rem 0;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.upload-bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--copper);transition:width .2s}
.upload-bar span{position:relative;display:block;text-align:center;font-size:.7rem;line-height:1.6rem}
code.secret{padding:.2rem .5rem;border-radius:.4rem;background:#0c0908;color:var(--sand);letter-spacing:.1em;font-size:.9rem}
.admin-footer{display:block;padding:2rem}

@media(max-width:850px){
  .today-grid,.lower-grid{grid-template-columns:1fr}
  .stat-row{grid-template-columns:1fr 1fr}
  .stat-row.compact{min-width:0;width:100%}
  .queue-item{grid-template-columns:1fr}
  .assessment-view{grid-template-columns:1fr}
  .badges{grid-template-columns:1fr}
  .bubble{max-width:94%}
  .sticky-tabs{top:7.2rem}
}
.admin-shell .compare{margin:0 auto 1.5rem}
.admin-shell .trend-chart{max-width:44rem;display:block}

/* v2.1 fixes */
.pw-wrap{position:relative;display:block;width:100%}
.pw-wrap input{padding-right:4.6rem!important}
.pw-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--copper);font:inherit;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:.5rem}
.video-pending{margin-bottom:1rem;padding:1rem 1.2rem;border:1px dashed var(--line);border-radius:.8rem;color:#b9aa9c;font-size:.85rem;line-height:1.6}
@media(max-width:1100px){
  .app-nav .member-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem .8rem;overflow:visible;padding-bottom:0}
  .app-nav .member-nav a{white-space:normal;text-align:center;padding:.45rem .2rem;border:1px solid var(--line);border-radius:.5rem;font-size:.6rem}
  .app-nav .member-nav a.current{border-color:var(--copper)}
}

/* v2.2 next step */
.next-step{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem 2.5rem;align-items:start;margin-bottom:2rem;border-color:rgba(199,160,108,.55);background:linear-gradient(145deg,rgba(199,160,108,.16),rgba(199,160,108,.03))}
.next-step>*:not(.week-steps){grid-column:1}
.next-step h2{margin:.3rem 0 .6rem;font-family:var(--font-editorial);font-weight:500;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.1}
.next-step .button{margin-top:.9rem}
.next-step .week-steps{grid-column:2;grid-row:1/span 4}
.week-steps ol{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.45rem}
.week-steps li a{display:flex;gap:.6rem;align-items:center;font-size:.85rem;color:var(--cream)}
.week-steps li a::before{content:"";flex:none;width:1.05rem;height:1.05rem;border:1px solid var(--copper);border-radius:50%}
.week-steps li.ok a{color:#8d7f73;text-decoration:line-through}
.week-steps li.ok a::before{content:"✓";display:grid;place-items:center;background:var(--copper);color:#1b110d;font-size:.65rem;text-decoration:none}
.dashboard-head .page-title{font-size:clamp(2.2rem,5vw,4rem)}
@media(max-width:850px){.next-step{grid-template-columns:1fr}.next-step .week-steps{grid-column:1;grid-row:auto}.today-grid{grid-template-columns:1fr}}

/* v2.3 welcome video + daily tip */
.welcome-video{margin-bottom:1.25rem}
.welcome-video summary{cursor:pointer;list-style:none;display:flex;gap:.6rem;align-items:baseline}
.welcome-video summary::-webkit-details-marker{display:none}
.welcome-video summary .eyebrow::before{content:"▶ ";color:var(--copper)}
.tip-tile{background:rgba(255,255,255,.03)}
.tip-tile small{font-size:.82rem;line-height:1.6;color:#d8c9b8}
.tip-tile:hover{transform:none}

/* v2.4 admin tips + mail log */
.tip-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.tip-row{padding:1.1rem 1.2rem;position:relative}
.tip-row.inactive{opacity:.55}
.tip-row.dragging{opacity:.4;border-color:var(--copper)}
.tip-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.tip-head .drag{cursor:grab;color:var(--copper);font-size:1.1rem}
.tip-move{margin-left:auto;display:flex;gap:.35rem}
.tip-move .button{padding:.3rem .65rem;min-width:0}
.tip-move .button[disabled]{opacity:.3;cursor:default}
.tip-delete{position:absolute;right:1.2rem;bottom:1.35rem}
.tip-row .form-actions{margin-top:.8rem;padding-right:4rem}
.link-button{background:none;border:0;cursor:pointer;text-decoration:underline;color:#c98a7c}
.mail-log{white-space:pre-wrap;word-break:break-all;font-size:.7rem;line-height:1.5;color:#b9aa9c;background:#0c0908;border:1px solid var(--line);border-radius:.6rem;padding:.8rem;max-height:14rem;overflow:auto}
