/* Wisyra authenticated editorial UI — aligned with the public cream/teal/coral identity. */
:root{
  --app-paper:#f7f0e8;
  --app-paper-2:#fcf8f3;
  --app-card:#fffdf9;
  --app-ink:#113735;
  --app-text:#30312e;
  --app-muted:#756e68;
  --app-coral:#c46145;
  --app-teal:#0f4b47;
  --app-line:rgba(17,55,53,.13);
  --app-shadow:0 18px 50px rgba(71,50,36,.08);
}
html{background:var(--app-paper)}
body:not(.public-landing){
  background:
    radial-gradient(760px 420px at 100% 0,rgba(196,97,69,.06),transparent 68%),
    linear-gradient(180deg,var(--app-paper-2),var(--app-paper));
  color:var(--app-text);
}
body:not(.public-landing):before{display:none}
body:not(.public-landing) .topbar{
  background:rgba(248,241,233,.94);
  border-bottom:1px solid rgba(17,55,53,.08);
  box-shadow:none;
  backdrop-filter:blur(16px);
}
body:not(.public-landing) .brand{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--app-ink);
  font-size:24px;
  letter-spacing:-.045em;
  font-weight:600;
}
body:not(.public-landing) .brandmark{color:var(--app-coral);background:none;filter:none;width:auto}
body:not(.public-landing) .chip{
  background:rgba(15,75,71,.06);
  border-color:rgba(15,75,71,.12);
  color:var(--app-teal);
}
body:not(.public-landing) .avatar{
  background:var(--app-teal);
  border-color:var(--app-teal);
  color:white;
}
body:not(.public-landing) .sidebar{
  background:rgba(252,248,243,.86);
  border-right:1px solid var(--app-line);
}
body:not(.public-landing) .nav-btn{
  color:var(--app-muted);
  border:1px solid transparent;
  border-radius:999px;
}
body:not(.public-landing) .nav-btn:hover{background:rgba(15,75,71,.045);color:var(--app-ink)}
body:not(.public-landing) .nav-btn.active{
  background:var(--app-teal);
  color:white;
  border-color:var(--app-teal);
  box-shadow:none;
}
body:not(.public-landing) .content{max-width:1040px}
body:not(.public-landing) .page-head h1,
body:not(.public-landing) .on-step h2,
body:not(.public-landing) .card h2,
body:not(.public-landing) .card h3{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--app-ink);
  font-weight:500;
  letter-spacing:-.035em;
}
body:not(.public-landing) .page-head h1{font-size:clamp(34px,4vw,50px);line-height:1}
body:not(.public-landing) .page-head p,
body:not(.public-landing) .muted,
body:not(.public-landing) label{color:var(--app-muted)}
body:not(.public-landing) .kicker{
  color:var(--app-coral);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  letter-spacing:.18em;
}
body:not(.public-landing) .card,
body:not(.public-landing) .stat,
body:not(.public-landing) .list-item,
body:not(.public-landing) .result-block{
  background:var(--app-card);
  border-color:var(--app-line);
  color:var(--app-text);
  box-shadow:var(--app-shadow);
}
body:not(.public-landing) .card:before{display:none}
body:not(.public-landing) .stat b{background:none;color:var(--app-ink)}
body:not(.public-landing) input,
body:not(.public-landing) select,
body:not(.public-landing) textarea{
  background:#fff;
  border-color:rgba(17,55,53,.18);
  color:var(--app-text);
}
body:not(.public-landing) input::placeholder,
body:not(.public-landing) textarea::placeholder{color:#a29a92}
body:not(.public-landing) input:focus,
body:not(.public-landing) select:focus,
body:not(.public-landing) textarea:focus{
  border-color:rgba(15,75,71,.55);
  box-shadow:0 0 0 3px rgba(15,75,71,.08);
}
body:not(.public-landing) .btn{border-radius:999px}
body:not(.public-landing) .btn.primary{
  background:var(--app-teal);
  color:#fff;
  box-shadow:0 10px 24px rgba(15,75,71,.14);
}
body:not(.public-landing) .btn.secondary{
  background:#fff;
  color:var(--app-teal);
  border:1px solid rgba(15,75,71,.2);
}
body:not(.public-landing) .btn.ghost{
  background:transparent;
  color:var(--app-muted);
  border-color:rgba(17,55,53,.16);
}
body:not(.public-landing) .btn.danger{
  background:rgba(196,97,69,.08);
  color:#9a462f;
  border-color:rgba(196,97,69,.22);
}
body:not(.public-landing) .step{background:rgba(17,55,53,.10)}
body:not(.public-landing) .step.done{background:var(--app-coral);box-shadow:none}
body:not(.public-landing) .choice{
  background:#fff;
  border-color:var(--app-line);
  color:var(--app-text);
}
body:not(.public-landing) .choice.selected{
  background:rgba(15,75,71,.07);
  border-color:rgba(15,75,71,.55);
  color:var(--app-ink);
}
body:not(.public-landing) .voice-onboarding{
  background:linear-gradient(145deg,#fffdf9,#f5e9df);
  border-color:rgba(17,55,53,.12);
}
body:not(.public-landing) .voice-record-btn{
  background:var(--app-teal);
  color:#fff;
  border-color:var(--app-teal);
  box-shadow:0 14px 34px rgba(15,75,71,.16);
}
body:not(.public-landing) .voice-record-btn.recording{
  background:var(--app-coral);
  border-color:var(--app-coral);
}
body:not(.public-landing) .voice-status{color:var(--app-ink)}
body:not(.public-landing) .voice-privacy{color:var(--app-muted)}
body:not(.public-landing) .upload-zone{
  background:#fff;
  border-color:rgba(15,75,71,.28);
}
body:not(.public-landing) .upload-plus{background:rgba(15,75,71,.08);color:var(--app-teal)}
body:not(.public-landing) .chatbox{background:#f4ece4;border-color:var(--app-line)}
body:not(.public-landing) .bubble.ai{background:#fff;border-color:var(--app-line);color:var(--app-text)}
body:not(.public-landing) .bubble.user{background:var(--app-teal);color:#fff}
body:not(.public-landing) .decision-card{
  background:rgba(196,97,69,.07);
  border-color:rgba(196,97,69,.20);
}
body:not(.public-landing) .decision-card strong{color:#9d4d37}
body:not(.public-landing) .decision-card-coach .decision-label{color:var(--app-coral)}
body:not(.public-landing) .decision-card-coach .decision-action{background:rgba(196,97,69,.045)}
body:not(.public-landing) .decision-card-coach .decision-reason,
body:not(.public-landing) .decision-card-coach .decision-note{border-top-color:var(--app-line)}
body:not(.public-landing) .decision-card-coach .decision-message{
  background:#fffaf5;
  border-top-color:var(--app-line);
}
body:not(.public-landing) .decision-card-coach .decision-more{border-top-color:var(--app-line)}
body:not(.public-landing) .decision-card-coach .decision-more summary{color:var(--app-teal)}
body:not(.public-landing) .decision-card-coach>.feedback-row{border-top-color:var(--app-line)}
body:not(.public-landing) .voice-input-btn{
  background:#fff;
  color:var(--app-teal);
  border-color:rgba(15,75,71,.24);
  box-shadow:0 5px 14px rgba(71,50,36,.08);
}
body:not(.public-landing) .voice-input-btn:hover{background:#f7fbfa;border-color:rgba(15,75,71,.45)}
body:not(.public-landing) .voice-input-btn.recording{
  background:var(--app-coral);
  color:#fff;
  border-color:var(--app-coral);
}
body:not(.public-landing) .tag{background:rgba(15,75,71,.05);border-color:var(--app-line);color:var(--app-muted)}
body:not(.public-landing) .dashboard-decision{display:grid;gap:7px}
body:not(.public-landing) .dashboard-decision-excerpt{font-size:15px;line-height:1.45;color:var(--app-text);font-weight:650}
body:not(.public-landing) .memory-event-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:end}
body:not(.public-landing) .memory-fact-text{grid-column:1/-1;font-size:16px;line-height:1.5;color:var(--app-text);font-weight:650}
body:not(.public-landing) .memory-event-card .btn{grid-column:2;grid-row:2;margin:0;align-self:center}
body:not(.public-landing) .empty{border-color:rgba(17,55,53,.18);color:var(--app-muted)}
body:not(.public-landing) .divider{background:var(--app-line)}
body:not(.public-landing) .toast{background:var(--app-ink);color:#fff;border-color:transparent}
body:not(.public-landing) .modal-back{background:rgba(17,55,53,.32);backdrop-filter:blur(8px)}
body:not(.public-landing) .modal{background:var(--app-card)}
body.auth-active .auth-card{background:var(--app-card);border-color:var(--app-line);box-shadow:var(--app-shadow)}
body.auth-active .auth-wrap{padding-top:24px}
body:not(.public-landing) .consent a,
body:not(.public-landing) .cyan{color:var(--app-teal)}
body:not(.public-landing) .error{background:rgba(196,97,69,.08);border-color:rgba(196,97,69,.22);color:#90452f}
body:not(.public-landing) .success{background:rgba(15,75,71,.07);border-color:rgba(15,75,71,.17);color:var(--app-teal)}
@media(max-width:900px){
  body:not(.public-landing) .bottomnav{
    background:rgba(252,248,243,.96);
    border-top:1px solid var(--app-line);
    box-shadow:0 -12px 30px rgba(71,50,36,.07);
  }
  body:not(.public-landing) .bottomnav button{color:#8a817a}
  body:not(.public-landing) .bottomnav button.active{color:var(--app-teal)}
  body:not(.public-landing) .bottomnav button:nth-child(3).active span{
    background:var(--app-teal);
    color:#fff;
    box-shadow:none;
  }
  body:not(.public-landing) .content{padding:22px 16px 100px}
  body:not(.public-landing) .page-head{align-items:flex-start}
  body:not(.public-landing) .page-head h1{font-size:38px}
  body:not(.public-landing) .card{border-radius:18px}
}
@media(max-width:900px){
  body:not(.public-landing) #coachView .chatbox{
    background:transparent;
    border-color:transparent;
    padding:0;
  }
  body:not(.public-landing) #coachView .composer{
    border-top:1px solid rgba(17,55,53,.08);
  }
  body:not(.public-landing) #coachView .bubble,
  body:not(.public-landing) #coachView .decision-card{box-shadow:0 8px 22px rgba(71,50,36,.045)}
}
@media(max-width:620px){
  body:not(.public-landing) .access-card>.tag{align-self:flex-start;width:auto}
  body:not(.public-landing) .memory-event-card{grid-template-columns:1fr auto}
  body:not(.public-landing) .memory-event-card .btn{min-width:94px}
  body:not(.public-landing) .dashboard-decision-excerpt{font-size:15px}
}
@media(max-width:620px){
  body:not(.public-landing) .topbar{padding:12px 15px}
  body:not(.public-landing) .brand{font-size:22px}
  body:not(.public-landing) .page-head h1{font-size:34px}
  body:not(.public-landing) .on-step h2{font-size:29px}
}


/* Mobile polish pass — header, voice review and More sheet */
body:not(.public-landing) .voice-review{
  background:var(--app-card);
  border-color:var(--app-line);
  color:var(--app-text);
  box-shadow:var(--app-shadow);
}
body:not(.public-landing) .voice-review .kicker{color:var(--app-coral)}
body:not(.public-landing) .voice-mic-trio{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  min-height:26px;
  color:var(--app-coral);
  opacity:.82;
}
body:not(.public-landing) .voice-mic-trio span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  font-size:15px;
  line-height:1;
}
body:not(.public-landing) .voice-mic-trio span:nth-child(2){
  width:30px;
  height:30px;
  font-size:21px;
  color:var(--app-teal);
}
@media(max-width:900px){
  body:not(.public-landing) .topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 18px;
    min-height:78px;
  }
  body:not(.public-landing) .brand{
    display:flex;
    align-items:center;
    min-width:0;
    flex:1 1 auto;
    white-space:nowrap;
  }
  body:not(.public-landing) .top-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex:0 0 auto;
  }
  body:not(.public-landing) .language-switcher{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    transform:none;
  }
  body:not(.public-landing) .lang-btn{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    padding:0!important;
    display:grid;
    place-items:center;
    border-radius:50%!important;
    line-height:1!important;
  }
  body:not(.public-landing) .avatar{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    max-width:52px!important;
    max-height:52px!important;
    flex:0 0 52px;
    padding:0!important;
    border-radius:50%!important;
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
  }
  body:not(.public-landing) .mobile-sheet-backdrop{
    background:rgba(17,55,53,.24);
    backdrop-filter:blur(7px);
  }
  body:not(.public-landing) .mobile-sheet{
    background:var(--app-paper-2);
    border-color:var(--app-line);
    box-shadow:0 26px 70px rgba(71,50,36,.20);
  }
  body:not(.public-landing) .mobile-sheet-handle{background:rgba(17,55,53,.24)}
  body:not(.public-landing) .mobile-sheet-link{
    background:#fff;
    border-color:var(--app-line);
    color:var(--app-ink);
  }
  body:not(.public-landing) .mobile-sheet-link span{color:var(--app-coral)}
  body:not(.public-landing) .mobile-sheet-link:nth-child(even) span{color:var(--app-teal)}
  body:not(.public-landing) .mobile-sheet .btn.ghost{
    background:transparent;
    color:var(--app-muted);
    border-color:var(--app-line);
  }
  body:not(.public-landing) .voice-onboarding{
    gap:14px;
    padding-top:18px;
  }
}
@media(max-width:390px){
  body:not(.public-landing) .topbar{padding-left:14px;padding-right:14px;gap:10px}
  body:not(.public-landing) .top-actions{gap:8px}
  body:not(.public-landing) .lang-btn{
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  }
  body:not(.public-landing) .avatar{
    width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;flex-basis:48px;
  }
}

@media(max-width:620px){
  body:not(.public-landing) #goalForm{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    gap:10px;
  }
  body:not(.public-landing) #goalTitle{min-width:0}
  body:not(.public-landing) #goalForm .btn{
    width:auto;
    min-width:112px;
    padding-inline:18px;
    white-space:nowrap;
  }
}
@media(max-width:360px){
  body:not(.public-landing) #goalForm{grid-template-columns:1fr}
  body:not(.public-landing) #goalForm .btn{width:100%}
}

body:not(.public-landing) .lang-btn{color:#7d7770!important}
body:not(.public-landing) .lang-btn:hover{color:var(--app-ink)!important}
body:not(.public-landing) .lang-btn.active{
  background:var(--app-teal)!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(15,75,71,.12);
}


/* Remaining authenticated components — remove legacy dark accents */
body:not(.public-landing) .score{
  background:
    linear-gradient(var(--app-card),var(--app-card)) padding-box,
    conic-gradient(var(--app-coral),var(--app-teal),#d7b59f,var(--app-coral)) border-box;
  border:10px solid transparent;
  color:var(--app-ink);
  box-shadow:0 12px 28px rgba(71,50,36,.08);
}
body:not(.public-landing) .locked-panel{
  background:linear-gradient(145deg,#fffdf9,#f5e9df);
  border-color:rgba(196,97,69,.20);
  color:var(--app-text);
}
body:not(.public-landing) .locked-panel .price,
body:not(.public-landing) .price{
  color:var(--app-ink);
}
body:not(.public-landing) .price small{color:var(--app-muted)}
body:not(.public-landing) .featured{
  outline:none;
  border-color:rgba(15,75,71,.30);
  box-shadow:0 20px 48px rgba(71,50,36,.09);
}
body:not(.public-landing) .ribbon{
  background:var(--app-coral);
  color:#fff;
  box-shadow:0 5px 14px rgba(196,97,69,.16);
}
body:not(.public-landing) .outcome-box{
  border-color:rgba(17,55,53,.18);
  background:rgba(15,75,71,.025);
}
body:not(.public-landing) .preview{
  background:#eee3d8;
  border-color:var(--app-line);
}
body:not(.public-landing) .preview span{
  background:rgba(17,55,53,.82);
  color:#fff;
}
body:not(.public-landing) .access-card{color:var(--app-text)}

@media(max-width:620px){
  body:not(.public-landing) .memory-grid .list-item .row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  body:not(.public-landing) .memory-grid .list-item .row .btn{
    flex:1 1 120px;
    min-width:0;
  }
  body:not(.public-landing) .modal{
    width:min(100%,calc(100vw - 24px));
    max-height:min(86vh,720px);
    overflow:auto;
    border-radius:20px;
  }
  body:not(.public-landing) .modal .row.between{
    align-items:flex-start;
    gap:12px;
  }
}

body:not(.public-landing) #profileSelectionStatus{
  min-height:20px;
  padding-top:6px;
}
body:not(.public-landing) .coach-upload-label{
  background:#fffaf5;
  border-color:rgba(15,75,71,.18);
  color:var(--app-teal);
  box-shadow:0 5px 14px rgba(71,50,36,.045);
}
body:not(.public-landing) .coach-upload-label:hover{background:#f7fbfa;border-color:rgba(15,75,71,.34)}
body:not(.public-landing) .coach-preview{background:#eee3d8;border-color:var(--app-line);box-shadow:0 5px 14px rgba(71,50,36,.055)}
body:not(.public-landing) .coach-media-privacy{color:var(--app-muted)}
body:not(.public-landing) #coachSelectionStatus{color:var(--app-muted)}

body:not(.public-landing) .feedback-row .btn.selected{
  background:rgba(15,75,71,.10);
  border-color:rgba(15,75,71,.34);
  color:var(--app-teal);
  box-shadow:inset 0 0 0 1px rgba(15,75,71,.05);
}
body:not(.public-landing) .outcome-saved{
  background:rgba(15,75,71,.045);
  border-color:rgba(15,75,71,.16);
}
