
:root{--vinho:#551103;--vinho2:#2b0702;--perola:#f0ebe1;--cinza:#dcd8d4;--preto:#050504;--branco:#fffaf4;--linha:rgba(85,17,3,.16);--sombra:0 24px 70px rgba(5,5,4,.10);--radius:26px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,Segoe UI,sans-serif;background:var(--perola);color:var(--preto);line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1160px,90vw);margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(240,235,225,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--linha)}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;font-weight:900}.brand-mark{width:52px;height:52px;border-radius:50%;border:1px solid rgba(85,17,3,.32);display:grid;place-items:center;font-family:Georgia,serif;font-size:2rem;color:var(--vinho);background:rgba(255,255,255,.42)}.brand-text small{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:rgba(5,5,4,.7)}.nav{display:flex;gap:26px;align-items:center;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:900;cursor:pointer}.btn-primary{background:var(--vinho);color:var(--branco);box-shadow:0 15px 36px rgba(85,17,3,.22)}.btn-outline{background:rgba(255,255,255,.48);border-color:rgba(85,17,3,.24)}.portal-hero{min-height:calc(100vh - 86px);display:grid;align-items:center;background:radial-gradient(circle at 80% 20%,rgba(240,235,225,.15),transparent 25%),linear-gradient(125deg,var(--vinho),var(--vinho2) 72%,#090100);color:var(--branco)}.portal-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;padding:76px 0}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#d9b989;font-size:.74rem;font-weight:900;margin-bottom:18px}h1,h2,.display{font-family:Georgia,Times New Roman,serif;line-height:.98;letter-spacing:-.04em}h1{font-size:clamp(3.2rem,7vw,7rem);max-width:800px;margin-bottom:28px}.hero-text{font-size:1.16rem;max-width:690px;color:rgba(255,250,244,.86);margin-bottom:16px}.hero-note{font-weight:900;color:#fff1de;margin:20px 0 32px}.actions{display:flex;gap:14px;flex-wrap:wrap}.portal-card{background:rgba(255,255,255,.09);border:1px solid rgba(240,235,225,.22);border-radius:34px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.24)}.portal-card h3{font-family:Georgia,serif;font-size:2.3rem;line-height:1.05;margin-bottom:22px}.role-list{display:grid;gap:14px;margin-top:24px}.role-item{padding:18px;border-radius:20px;background:rgba(240,235,225,.12);border:1px solid rgba(240,235,225,.18)}.role-item strong{display:block;color:#ffe6c6}.section{padding:94px 0;border-bottom:1px solid var(--linha)}.section-title{font-size:clamp(2.6rem,5vw,5.2rem);max-width:900px;margin-bottom:24px}.section-copy{font-size:1.08rem;max-width:780px;color:rgba(5,5,4,.72)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:42px}.info-card,.panel,.form-card{background:rgba(255,255,255,.58);border:1px solid var(--linha);border-radius:var(--radius);padding:30px;box-shadow:var(--sombra)}.info-card h3{color:var(--vinho);margin-bottom:12px}.footer{padding:48px 0;background:#fffaf5}.auth-shell{min-height:100vh;display:grid;grid-template-columns:.92fr 1.08fr}.auth-side{background:linear-gradient(140deg,var(--vinho),var(--vinho2));color:var(--branco);padding:52px;display:flex;flex-direction:column;justify-content:space-between}.auth-side h1{font-size:clamp(2.7rem,5vw,5.4rem)}.auth-main{padding:52px;display:grid;place-items:center}.form-card{width:min(640px,100%)}.form-card h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}label{font-weight:900;color:var(--vinho)}input,textarea,select{width:100%;min-height:56px;border:1px solid rgba(85,17,3,.22);background:rgba(255,255,255,.82);border-radius:18px;padding:14px 16px;font:inherit;outline:none}textarea{min-height:148px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.checkbox-row{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start}.checkbox-row input{width:auto;min-height:0;margin-top:6px}.app-layout{display:grid;grid-template-columns:292px 1fr;min-height:100vh}.sidebar{background:var(--vinho2);color:var(--branco);padding:28px;position:sticky;top:0;height:100vh}.sidebar .brand{margin-bottom:36px}.sidebar .brand-mark{border-color:rgba(240,235,225,.25);color:#ffe6c6;background:rgba(255,255,255,.08)}.side-nav{display:grid;gap:10px}.side-nav a,.side-nav button{width:100%;text-align:left;border:0;color:rgba(255,250,244,.82);background:transparent;padding:13px 14px;border-radius:14px;font:inherit;font-weight:800;cursor:pointer}.side-nav a.active,.side-nav a:hover,.side-nav button:hover{background:rgba(240,235,225,.12);color:#fff}.app-main{padding:34px;background:var(--perola)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-title h1{color:var(--preto);font-size:clamp(2.5rem,4.8vw,5.3rem);margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.kpi{background:rgba(255,255,255,.58);border:1px solid var(--linha);border-radius:24px;padding:24px;box-shadow:var(--sombra)}.kpi span{display:block;color:var(--vinho);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em}.kpi strong{font-size:2.1rem;display:block;margin-top:8px}.panel{margin-bottom:24px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:15px;border-bottom:1px solid rgba(85,17,3,.12)}th{color:var(--vinho);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.status{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(85,17,3,.09);color:var(--vinho);font-weight:900;font-size:.82rem}.journey-shell{background:rgba(255,255,255,.62);border:1px solid var(--linha);border-radius:30px;box-shadow:var(--sombra);overflow:hidden}.journey-progress{padding:24px;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:18px}.progress-line{height:9px;flex:1;background:rgba(85,17,3,.12);border-radius:99px;overflow:hidden}.progress-fill{height:100%;width:20%;background:var(--vinho);transition:.25s}.steps{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--linha)}.step-tab{border:0;border-right:1px solid var(--linha);padding:18px;background:rgba(240,235,225,.72);text-align:left;cursor:pointer;color:rgba(5,5,4,.66);font-weight:900}.step-tab span{display:block;color:var(--vinho);font-size:.76rem;margin-bottom:5px}.step-tab.active{background:var(--vinho);color:var(--branco)}.step-tab.active span{color:#d8b587}.step-panel{display:none;grid-template-columns:.8fr 1.2fr;gap:28px;padding:30px}.step-panel.active{display:grid}.step-intro h2{font-size:3.1rem;margin-bottom:12px}.privacy-note{margin-top:16px;border-left:4px solid var(--vinho);padding:14px 16px;background:rgba(85,17,3,.07);font-weight:800}.mural-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mural-card{min-height:220px;padding:24px;border-radius:24px;border:1px solid var(--linha);background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(220,216,212,.36))}.mural-card strong{display:block;color:var(--vinho);margin-bottom:12px}@media(max-width:980px){.nav{display:none}.portal-grid,.auth-shell,.app-layout,.grid-2{grid-template-columns:1fr}.auth-side{min-height:420px}.sidebar{position:relative;height:auto}.kpi-grid,.grid-3,.mural-grid{grid-template-columns:1fr 1fr}.step-panel{grid-template-columns:1fr}.steps{grid-template-columns:1fr}}@media(max-width:640px){.actions,.form-actions,.panel-header,.topbar{flex-direction:column;align-items:stretch}.form-grid,.kpi-grid,.mural-grid{grid-template-columns:1fr}.auth-main,.auth-side,.app-main{padding:24px}}


/* ===== Ajuste de direção: participante não vê hierarquia ===== */
.portal-hero .hero-text strong{color:#fff1de}
.experience-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(240,235,225,.12);
  border:1px solid rgba(240,235,225,.2);
  color:#fff1de;
  font-weight:800;
  margin-bottom:16px;
}
.sensory-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(240,235,225,.22);
  border-radius:34px;
  padding:34px;
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}
.sensory-card h3{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.6rem;
  line-height:1;
  margin-bottom:18px;
}
.sensory-card .chapter-list{display:grid;gap:14px;margin-top:24px}
.chapter-line{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:20px;
  background:rgba(240,235,225,.10);
  border:1px solid rgba(240,235,225,.16);
}
.chapter-line span{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(240,235,225,.16);
  color:#ffe6c6;
  font-weight:900;
}
.gentle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px}
.gentle-card{
  min-height:210px;
  background:rgba(255,255,255,.52);
  border:1px solid var(--linha);
  border-radius:28px;
  padding:26px;
  box-shadow:var(--sombra);
}
.gentle-card strong{
  display:block;
  color:var(--vinho);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.75rem;
  margin-bottom:24px;
}
.welcome-panel{
  background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(220,216,212,.35));
  border:1px solid var(--linha);
  border-radius:32px;
  padding:34px;
  box-shadow:var(--sombra);
  margin-bottom:24px;
}
.welcome-panel h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,4vw,4.8rem);
  line-height:.98;
  letter-spacing:-.04em;
  margin-bottom:16px;
}
.feeling-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.feeling{
  border:1px solid var(--linha);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.45);
  font-weight:800;
  color:var(--vinho);
}
.chapter-road{
  display:grid;
  gap:12px;
  margin-top:20px;
}
.chapter-step{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.5);
  border:1px solid var(--linha);
}
.chapter-step .dot{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--vinho);
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
}
.chapter-step h3{margin-bottom:4px;color:var(--vinho)}
.chapter-step p{color:rgba(5,5,4,.68)}
.journey-shell.emotional .steps{grid-template-columns:repeat(5,1fr)}
.journey-shell.emotional .step-tab{
  min-height:108px;
  background:rgba(255,255,255,.45);
}
.journey-shell.emotional .step-tab.active{background:var(--vinho);color:var(--branco)}
.journey-shell.emotional .step-tab.active span{color:#d8b587}
.journey-shell.emotional .step-tab strong{display:block;font-size:.95rem;line-height:1.2}
.journey-shell.emotional .step-tab small{display:block;font-weight:500;color:inherit;margin-top:6px;opacity:.72}
.write-surface{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,250,244,.9));
  border:1px solid rgba(85,17,3,.14);
  border-radius:28px;
  padding:26px;
}
.soft-question{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.15rem;
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:12px;
}
.field .helper{font-size:.9rem;color:rgba(5,5,4,.55)}
textarea.diary{min-height:230px;font-size:1.05rem;line-height:1.8;background:#fffdf8}
.private-seal{
  display:inline-flex;gap:9px;align-items:center;
  padding:10px 14px;border-radius:999px;
  background:rgba(85,17,3,.08);
  color:var(--vinho);
  font-weight:900;
  margin-top:12px;
}
.coach-note{
  border-left:4px solid var(--vinho);
  padding:18px 20px;
  background:rgba(85,17,3,.06);
  border-radius:0 18px 18px 0;
  color:rgba(5,5,4,.75);
}
.admin-only{font-size:.85rem;color:rgba(255,250,244,.55);margin-top:28px}
.internal-copy{color:rgba(5,5,4,.68)}
@media(max-width:980px){.gentle-grid,.feeling-row{grid-template-columns:1fr 1fr}.journey-shell.emotional .steps{grid-template-columns:1fr}}
@media(max-width:640px){.gentle-grid,.feeling-row{grid-template-columns:1fr}.sensory-card h3{font-size:2.2rem}}
.form-message{grid-column:1/-1;padding:12px 14px;border-radius:10px;background:#f8e8e8;color:#7a2430;border:1px solid #e8c3c8}.form-message[data-type="success"]{background:#edf7f0;color:#285c38;border-color:#c9e5d1}
.progress-cell{display:inline-block;width:90px;height:8px;background:#e6ddd5;border-radius:99px;overflow:hidden;vertical-align:middle}.progress-cell i{display:block;height:100%;background:#7b2b20}.panel-header input{max-width:320px;padding:10px 12px;border:1px solid #d8cac0;border-radius:10px}.passport-progress{font:700 3rem Georgia,serif;color:#551103;margin:.4em 0}
.report-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eadfd6}.report-row strong{color:#551103}
:focus-visible{outline:3px solid #d9a85f;outline-offset:3px}button:disabled,input:disabled,select:disabled{opacity:.65;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.form-message,.module-notice{margin:0 0 18px;padding:14px 16px;border-radius:16px;background:rgba(85,17,3,.08);border:1px solid rgba(85,17,3,.18);color:var(--vinho);font-weight:800}.form-message[data-type="success"],.module-notice[data-type="success"]{background:rgba(37,113,70,.10);border-color:rgba(37,113,70,.24);color:#1d633d}.form-message[data-type="error"],.module-notice[data-type="error"]{background:rgba(145,31,17,.10);border-color:rgba(145,31,17,.25);color:#7e1a0e}.journey-shell .module-notice{margin:18px 24px}.step-tab.completed{box-shadow:inset 0 -4px 0 #568a68}.step-tab.locked{cursor:not-allowed;opacity:.48}.step-tab:disabled{pointer-events:none}.btn:disabled{cursor:wait;opacity:.62}
.moderation-content{min-width:440px}.moderation-section{padding:12px 0;border-bottom:1px solid var(--linha)}.moderation-section:first-child{padding-top:0}.moderation-section:last-child{border-bottom:0;padding-bottom:0}.moderation-section h3{color:var(--vinho);margin-bottom:6px}.moderation-section p{margin:5px 0;line-height:1.45}.moderation-section p strong{display:inline;color:var(--preto);margin:0}
[hidden]{display:none!important}

.community-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,680px),1fr));gap:24px}.community-story{overflow:hidden;border:1px solid var(--linha);border-radius:30px;background:rgba(255,255,255,.68);box-shadow:var(--sombra)}.community-story-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 30px;border-bottom:1px solid var(--linha)}.community-story-header h2{font-size:2.25rem;color:var(--vinho);margin:2px 0}.community-kicker{color:#b78a52;font-size:.72rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.community-story-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--linha)}.community-story-section{padding:26px;background:#fffaf5}.community-story-section h3{font-family:Georgia,serif;font-size:1.65rem;color:var(--vinho);margin-bottom:18px}.community-field{line-height:1.55}.community-field+.community-field{margin-top:16px}.community-field span{display:block;color:var(--vinho);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}.community-story-footer{display:grid;grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:18px;padding:22px 30px;border-top:1px solid var(--linha)}.community-comment-form{display:grid;grid-template-columns:1fr auto;gap:10px}.community-comment-form input{min-height:50px}.community-comments{padding:0 30px 24px}.community-comments p{padding:12px 0;border-top:1px solid var(--linha)}.public-profile-section h2{color:var(--vinho);margin-bottom:18px}@media(max-width:900px){.community-story-sections{grid-template-columns:1fr}.community-story-footer{grid-template-columns:1fr}.community-story-header{align-items:flex-start}}@media(max-width:640px){.community-story-header,.community-story-footer{padding:22px}.community-comment-form{grid-template-columns:1fr}.community-comments{padding:0 22px 22px}}

/* Estabilidade de rolagem em navegadores móveis. */
html{min-height:100%;overflow-x:hidden}
body{min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.journey-shell{scroll-margin-top:16px}
.app-layout,.auth-shell{min-height:100vh;min-height:100dvh}.sidebar{height:100vh;height:100dvh}
@media(max-width:980px){html{height:auto;min-height:100%;overflow-y:auto;overscroll-behavior-y:auto}body{height:auto;min-height:100dvh;overflow-y:visible;position:static;touch-action:pan-y pinch-zoom;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}.auth-shell{display:block;height:auto;min-height:100dvh;overflow:visible}.auth-side,.auth-main{height:auto;min-height:0;overflow:visible}.auth-side{gap:28px}.auth-main{min-width:0}.app-layout{display:block;height:auto;min-height:100dvh;overflow:visible}.sidebar{position:relative;top:auto;height:auto;min-height:0;overflow:visible}.app-main{min-width:0;overflow:visible}}

/* Acesso permanente no cabeçalho da página inicial em telas móveis. */
.mobile-login{display:none}
@media(max-width:980px){.header-inner{gap:12px}.mobile-login{display:inline-flex;min-height:42px;padding:0 18px;flex:0 0 auto;background:rgba(255,255,255,.58)}}
@media(max-width:420px){.header-inner .brand{gap:8px}.header-inner .brand-mark{width:44px;height:44px;font-size:1.65rem}.header-inner .brand-text strong{font-size:.92rem}.header-inner .brand-text small{font-size:.56rem;letter-spacing:.15em}.mobile-login{min-height:40px;padding:0 14px}}

/* ========================================================================== 
   VisionOS 1.0.8 — identidade roxo-ameixa inspirada no conceito original
   ========================================================================== */
:root{
  --roxo-profundo:#2b1035;
  --ameixa:#54215f;
  --violeta:#713884;
  --lilas:#b78fc5;
  --lilas-claro:#eee3f1;
  --rosa-nevoa:#f2e5e9;
  --dourado:#c6a064;
  --perola-clara:#f8f4ee;
  --tinta:#251a29;
  --vinho:var(--ameixa);
  --vinho2:var(--roxo-profundo);
  --perola:var(--perola-clara);
  --cinza:#e7e0e6;
  --preto:var(--tinta);
  --branco:#fffdf9;
  --linha:rgba(84,33,95,.15);
  --sombra:0 22px 58px rgba(43,16,53,.10);
  --radius:26px;
}

html{background:var(--perola-clara)}
body{
  background:
    radial-gradient(circle at 82% 8%,rgba(183,143,197,.18),transparent 27rem),
    radial-gradient(circle at 18% 72%,rgba(242,229,233,.75),transparent 32rem),
    var(--perola-clara);
  color:var(--tinta);
}
::selection{background:rgba(113,56,132,.22);color:var(--roxo-profundo)}
.ui-icon{width:1.35rem;height:1.35rem;display:inline-block;flex:0 0 auto}

.header{
  background:rgba(248,244,238,.93);
  border-bottom-color:rgba(84,33,95,.13);
  box-shadow:0 8px 32px rgba(43,16,53,.05);
}
.brand-mark{
  color:var(--ameixa);
  border-color:rgba(84,33,95,.28);
  background:linear-gradient(145deg,#fffdf9,#f0e5f2);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.45);
}
.brand-text small{color:rgba(43,16,53,.64)}
.nav a{transition:color .18s ease}.nav a:hover{color:var(--violeta)}
.btn{gap:9px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--ameixa),var(--violeta));
  color:#fff;
  box-shadow:0 14px 34px rgba(84,33,95,.24);
}
.btn-primary:hover{box-shadow:0 17px 38px rgba(84,33,95,.32)}
.btn-outline{background:rgba(255,253,249,.68);border-color:rgba(84,33,95,.22);color:var(--ameixa)}

.portal-hero{
  background:
    radial-gradient(circle at 78% 16%,rgba(183,143,197,.30),transparent 27%),
    radial-gradient(circle at 7% 82%,rgba(198,160,100,.15),transparent 23%),
    linear-gradient(125deg,#3a1546 0%,#5b2268 54%,#281032 100%);
}
.portal-hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(198,160,100,.62),transparent)}
.portal-hero{position:relative}
.experience-pill{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:#f4d99f}
.experience-pill .ui-icon{color:#e5bf78}
.hero-note,.portal-hero .hero-text strong{color:#f5ddb0}
.sensory-card,.portal-card{
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  border-color:rgba(255,255,255,.22);
  box-shadow:0 30px 90px rgba(26,6,34,.32);
}
.chapter-line{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15)}
.chapter-line span{background:linear-gradient(145deg,rgba(238,227,241,.24),rgba(198,160,100,.12));color:#f3d89d}

.section{border-bottom-color:rgba(84,33,95,.12)}
.eyebrow{color:var(--dourado)}
.info-card,.panel,.form-card,.gentle-card,.welcome-panel,.journey-shell,.community-story{
  background:linear-gradient(145deg,rgba(255,253,249,.90),rgba(247,241,247,.76));
  border-color:rgba(84,33,95,.14);
  box-shadow:var(--sombra);
}
.info-card,.panel,.form-card,.gentle-card,.welcome-panel,.kpi{position:relative;overflow:hidden}
.info-card::after,.panel::after,.form-card::after,.gentle-card::after,.welcome-panel::after{
  content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--ameixa),var(--lilas),transparent 72%);opacity:.42;pointer-events:none
}
.info-card h3,.gentle-card strong,.chapter-step h3,.report-row strong,.public-profile-section h2{color:var(--ameixa)}

.auth-side{
  background:
    radial-gradient(circle at 22% 18%,rgba(183,143,197,.30),transparent 18rem),
    linear-gradient(150deg,#32123e,#5b2268 62%,#27102f);
}
.auth-side .brand-mark{color:#f0d7a2;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
label,.passport-progress{color:var(--ameixa)}
input,textarea,select{
  border-color:rgba(84,33,95,.20);
  background:rgba(255,255,255,.84);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:focus,textarea:focus,select:focus{border-color:var(--violeta);box-shadow:0 0 0 4px rgba(113,56,132,.11);background:#fff}

.app-layout{grid-template-columns:292px minmax(0,1fr)}
.sidebar{
  background:
    radial-gradient(circle at 50% 0,rgba(183,143,197,.19),transparent 19rem),
    linear-gradient(180deg,#351241 0%,#4a1b57 52%,#281032 100%);
  border-right:1px solid rgba(255,255,255,.09);
  box-shadow:16px 0 44px rgba(43,16,53,.10);
}
.sidebar::after{content:"";position:absolute;inset:0 0 0 auto;width:1px;background:linear-gradient(transparent,rgba(198,160,100,.36),transparent)}
.sidebar .brand{margin-bottom:34px}.sidebar .brand-mark{color:#f2d59a;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08)}
.sidebar .brand-text small{color:rgba(255,255,255,.60)}
.side-nav{gap:9px}
.side-nav a,.side-nav button{
  display:flex;align-items:center;gap:13px;min-height:50px;padding:13px 15px;
  color:rgba(255,255,255,.80);border:1px solid transparent;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.side-nav a .ui-icon,.side-nav button .ui-icon{color:#d8b7e1}
.side-nav a.active,.side-nav a:hover,.side-nav button:hover{
  background:linear-gradient(90deg,rgba(183,143,197,.25),rgba(255,255,255,.10));
  border-color:rgba(255,255,255,.10);color:#fff;
}
.side-nav a.active .ui-icon{color:#f1d38f}

.app-main{background:transparent;padding:38px clamp(24px,3.2vw,52px)}
.topbar{padding:8px 0 4px}.page-title h1{color:var(--roxo-profundo)}
.page-title>p:last-child{max-width:760px;color:rgba(37,26,41,.70)}
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.role-badge{
  display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;
  background:rgba(238,227,241,.88);border:1px solid rgba(84,33,95,.13);color:var(--ameixa);font-weight:900;font-size:.82rem
}
.role-badge .ui-icon{width:1rem;height:1rem}

.kpi-grid{gap:16px}.kpi{
  min-height:158px;padding:22px;
  background:linear-gradient(150deg,rgba(255,253,249,.96),rgba(242,229,245,.72));
  border-color:rgba(84,33,95,.14);box-shadow:0 18px 42px rgba(43,16,53,.08);
}
.kpi::after{content:"";position:absolute;right:-24px;bottom:-34px;width:110px;height:110px;border-radius:50%;background:rgba(183,143,197,.10)}
.kpi-icon{
  width:42px;height:42px;display:grid!important;place-items:center;border-radius:14px;margin-bottom:18px;
  background:linear-gradient(145deg,var(--lilas-claro),rgba(242,229,233,.9));color:var(--violeta)
}
.kpi-icon .ui-icon{width:1.3rem;height:1.3rem}.kpi>span:not(.kpi-icon){color:var(--ameixa)}
.kpi strong{color:var(--roxo-profundo);font-family:Georgia,"Times New Roman",serif;font-size:2.45rem;line-height:1}
.role-gestora .kpi:nth-child(2n) .kpi-icon{background:rgba(242,229,233,.95);color:#a65e76}
.role-gestora .kpi:nth-child(3n) .kpi-icon{background:rgba(238,226,202,.72);color:#9b7137}
.role-lider .kpi:nth-child(2n) .kpi-icon{background:rgba(224,241,239,.9);color:#3d8b80}

.panel,.form-card,.info-card{border-radius:28px}.panel-header h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:var(--roxo-profundo)}
.panel-header input{border-color:rgba(84,33,95,.18);background:#fff;max-width:360px}
th{color:var(--ameixa)}th,td{border-bottom-color:rgba(84,33,95,.11)}tbody tr{transition:background .16s ease}tbody tr:hover{background:rgba(238,227,241,.42)}
.status{background:var(--lilas-claro);color:var(--ameixa)}
.progress-cell{background:#e6dfe6}.progress-cell i,.progress-fill{background:linear-gradient(90deg,var(--ameixa),var(--violeta))}

.dashboard-shortcuts{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:-8px 0 30px;
}
.shortcut-card{
  min-height:142px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;
  background:rgba(255,253,249,.88);border:1px solid rgba(84,33,95,.13);border-radius:23px;
  box-shadow:0 14px 32px rgba(43,16,53,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.shortcut-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(43,16,53,.12);border-color:rgba(113,56,132,.28)}
.shortcut-card>.ui-icon{width:42px;height:42px;padding:10px;border-radius:14px;background:var(--lilas-claro);color:var(--violeta)}
.shortcut-card strong,.shortcut-card small{display:block}.shortcut-card strong{color:var(--roxo-profundo)}.shortcut-card small{margin-top:3px;color:rgba(37,26,41,.62);line-height:1.35}
.feeling{background:rgba(255,253,249,.72);border-color:rgba(84,33,95,.13);color:var(--ameixa)}
.chapter-step .dot{background:linear-gradient(145deg,var(--ameixa),var(--violeta))}

.journey-shell{border-color:rgba(84,33,95,.15)}
.progress-line{background:rgba(84,33,95,.12)}
.step-tab,.journey-shell.emotional .step-tab{background:rgba(255,253,249,.72);border-color:rgba(84,33,95,.12)}
.step-tab.active,.journey-shell.emotional .step-tab.active{background:linear-gradient(145deg,var(--ameixa),var(--violeta))}
.step-tab.active span,.journey-shell.emotional .step-tab.active span{color:#f1d39a}
.write-surface{background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(249,244,250,.88));border-color:rgba(84,33,95,.14)}
.privacy-note,.coach-note{border-left-color:var(--ameixa);background:rgba(84,33,95,.06)}
.private-seal{background:var(--lilas-claro);color:var(--ameixa)}

.community-story-section{background:#fffdf9}.community-kicker{color:var(--dourado)}
.community-story-header h2,.community-story-section h3,.community-field span{color:var(--ameixa)}
.footer{background:#f3edf4;border-top:1px solid rgba(84,33,95,.11)}
.certificate{border-color:var(--ameixa)!important;background:#fffdf9!important;box-shadow:0 24px 70px rgba(43,16,53,.12)}
.certificate h1{color:var(--ameixa)!important}

.form-message,.module-notice{background:rgba(84,33,95,.08);border-color:rgba(84,33,95,.18);color:var(--ameixa)}
.form-message[data-type="success"],.module-notice[data-type="success"]{background:rgba(61,139,128,.11);border-color:rgba(61,139,128,.27);color:#236a60}
.form-message[data-type="error"],.module-notice[data-type="error"]{background:rgba(191,92,101,.10);border-color:rgba(191,92,101,.24);color:#8b3943}
:focus-visible{outline-color:#b978c6}

@media(max-width:1180px){
  .dashboard-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-dashboard .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  html{scroll-behavior:auto}
  body{background-attachment:scroll}
  .header{position:relative;top:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
  .app-layout{display:block}.app-main{padding:26px 20px 38px}
  .sidebar{position:relative;height:auto;padding:18px 20px;box-shadow:0 12px 34px rgba(43,16,53,.14)}
  .sidebar::after{inset:auto 0 0;width:100%;height:1px}
  .sidebar .brand{margin:0 0 16px}
  .side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .side-nav a,.side-nav button{width:100%;min-width:0;min-height:46px;padding:11px 12px}
  .topbar{align-items:flex-start}.topbar-actions{justify-content:flex-start}
  .role-dashboard .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
  .btn,.nav a,.side-nav a,.side-nav button,.shortcut-card,input,textarea,select{transition:none!important}
}
@media(max-width:640px){
  .header-inner{min-height:74px}.portal-grid{padding:48px 0;gap:38px}
  .portal-hero h1{font-size:clamp(3rem,16vw,4.4rem)}
  .app-main{padding:22px 16px 34px}.sidebar{padding:16px}
  .side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.side-nav a,.side-nav button{font-size:.82rem;gap:8px;padding:10px}.side-nav .ui-icon{width:1.05rem;height:1.05rem}
  .role-dashboard .kpi-grid{grid-template-columns:1fr 1fr}.kpi{min-height:136px;padding:18px}.kpi-icon{width:38px;height:38px;margin-bottom:14px}.kpi strong{font-size:2rem}
  .dashboard-shortcuts{grid-template-columns:1fr 1fr;gap:10px}.shortcut-card{min-height:128px;padding:16px}
  .welcome-panel{padding:24px}.topbar-actions{width:100%}.topbar-actions .btn{width:100%}
  .panel,.form-card,.info-card{padding:22px;border-radius:23px}
  .panel-header h2{font-size:1.7rem}
}
@media(max-width:390px){
  .role-dashboard .kpi-grid,.dashboard-shortcuts{grid-template-columns:1fr}
  .side-nav{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.btn,.nav a,.side-nav a,.side-nav button,.shortcut-card{transition:none!important}}

/* Temas de perfil: o contrato de sessao aplica uma unica paleta por pagina. */
html.theme-vinho{
  --vinho:#551103;--vinho2:#2b0702;--perola:#f0ebe1;--cinza:#dcd8d4;
  --preto:#050504;--branco:#fffaf4;--linha:rgba(85,17,3,.16);
  --sombra:0 24px 70px rgba(5,5,4,.10)
}
.theme-vinho body{
  background:radial-gradient(circle at 18% 72%,rgba(255,250,244,.72),transparent 32rem),var(--perola);
  color:var(--preto)
}
.theme-vinho .header{background:rgba(240,235,225,.94);border-bottom-color:var(--linha)}
.theme-vinho .brand-mark{color:var(--vinho);border-color:rgba(85,17,3,.32);background:rgba(255,255,255,.42)}
.theme-vinho .brand-text small{color:rgba(5,5,4,.70)}
.theme-vinho .portal-hero{background:radial-gradient(circle at 80% 20%,rgba(240,235,225,.15),transparent 25%),linear-gradient(125deg,var(--vinho),var(--vinho2) 72%,#090100)}
.theme-vinho .auth-side{background:linear-gradient(140deg,var(--vinho),var(--vinho2))}
.theme-vinho .sidebar{background:linear-gradient(180deg,var(--vinho2),var(--vinho));border-right-color:rgba(255,255,255,.09)}
.theme-vinho .btn-primary{background:var(--vinho);box-shadow:0 15px 36px rgba(85,17,3,.22)}
.theme-vinho .btn-outline{color:var(--vinho);border-color:rgba(85,17,3,.24)}
.theme-vinho label,.theme-vinho .passport-progress,.theme-vinho .page-title h1,
.theme-vinho .panel-header h2,.theme-vinho .info-card h3,.theme-vinho .community-story-header h2,
.theme-vinho .community-story-section h3,.theme-vinho .community-field span{color:var(--vinho)}
.theme-vinho .info-card,.theme-vinho .panel,.theme-vinho .form-card,.theme-vinho .gentle-card,
.theme-vinho .welcome-panel,.theme-vinho .journey-shell,.theme-vinho .community-story{
  background:rgba(255,255,255,.70);border-color:var(--linha);box-shadow:var(--sombra)
}
.theme-vinho .info-card::after,.theme-vinho .panel::after,.theme-vinho .form-card::after,
.theme-vinho .gentle-card::after,.theme-vinho .welcome-panel::after{background:linear-gradient(90deg,var(--vinho),#d9b989,transparent 72%)}
.theme-vinho .kpi-icon{background:rgba(85,17,3,.09);color:var(--vinho)}
.theme-vinho .kpi strong{color:var(--vinho2)}

html.theme-gestora,html.theme-lider{color-scheme:light}
