/* Fonely — tela de entrada */
:root{
  --fe-bg:#f5ede4;
  --fe-paper:#fffdfb;
  --fe-brown:#46382f;
  --fe-brown-2:#5a473d;
  --fe-terra:#ca8a6f;
  --fe-terra-dark:#b97459;
  --fe-line:#e7d9cf;
  --fe-muted:#8f7d73;
  --fe-soft:#f8f0ea;
  --fe-success:#5d876f;
  --fe-shadow:0 30px 80px rgba(70,56,47,.13);
}
#fonelyEntry{
  position:fixed;inset:0;z-index:99999;overflow:auto;
  background:
    radial-gradient(circle at 8% 10%,rgba(202,138,111,.12),transparent 26%),
    radial-gradient(circle at 92% 90%,rgba(70,56,47,.06),transparent 30%),
    var(--fe-bg);
  color:var(--fe-brown);
  font-family:'DM Sans',system-ui,sans-serif
}
#fonelyEntry *{box-sizing:border-box}
.fonely-entry-open{overflow:hidden}
.fe-shell{min-height:100vh;display:grid;place-items:center;padding:28px}
.fe-frame{
  width:min(1180px,100%);
  min-height:min(760px,calc(100vh - 56px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr);
  background:var(--fe-paper);
  border:1px solid rgba(70,56,47,.08);
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--fe-shadow)
}

/* lado visual */
.fe-brand-side{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:34px 40px 30px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(255,253,251,.18),rgba(255,253,251,0) 45%),
    linear-gradient(160deg,#f8efe7 0%,#f4e8de 100%)
}
.fe-brand-side:before{
  content:"";position:absolute;width:330px;height:330px;border-radius:50%;
  top:-170px;right:-115px;background:rgba(202,138,111,.16)
}
.fe-brand-side:after{
  content:"";position:absolute;width:230px;height:230px;border-radius:50%;
  bottom:-120px;left:-85px;border:1px solid rgba(202,138,111,.20)
}
.fe-brand-top{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:20px
}
.fe-brand-top .fe-logo{display:block;width:182px;height:auto}
.fe-brand-top>span{
  display:flex;align-items:center;gap:11px;
  color:#8c786d;font-size:7px;font-weight:900;letter-spacing:.18em;white-space:nowrap
}
.fe-brand-top>span:before{content:"";width:30px;height:1px;background:#cdb7aa}

.fe-hero{
  position:relative;z-index:2;
  margin-top:54px;
  max-width:560px
}
.fe-eyebrow{
  display:inline-flex;align-items:center;
  padding:8px 11px;border-radius:999px;
  border:1px solid #dfcec2;background:rgba(255,253,251,.52);
  color:#a26851;font-size:7px;font-weight:900;letter-spacing:.13em
}
.fe-hero h1{
  margin:18px 0 14px;
  max-width:520px;
  font:900 clamp(42px,4.5vw,60px)/.96 Nunito,sans-serif;
  letter-spacing:-.05em;
  color:var(--fe-brown)
}
.fe-hero h1 em{font-style:normal;color:var(--fe-terra)}
.fe-hero>p{
  max-width:505px;margin:0;
  color:#806f66;font-size:13px;line-height:1.65
}
.fe-benefits{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;margin-top:20px
}
.fe-benefits>div{
  min-width:0;padding:11px;
  border:1px solid rgba(218,199,187,.9);
  border-radius:14px;
  background:rgba(255,253,251,.62)
}
.fe-benefits i{
  display:grid;place-items:center;width:25px;height:25px;border-radius:8px;
  background:#edd7cb;color:#9b6049;font-style:normal;font-size:7px;font-weight:900;
  margin-bottom:8px
}
.fe-benefits span,.fe-benefits b,.fe-benefits small{display:block}
.fe-benefits b{font-size:9px;color:#5b483e}
.fe-benefits small{font-size:7px;line-height:1.38;color:#9a887e;margin-top:2px}

.fe-product-card{
  position:relative;z-index:2;
  margin-top:auto;
  padding:14px;
  border:1px solid #e4d6cd;
  border-radius:20px;
  background:rgba(255,253,251,.90);
  box-shadow:0 16px 40px rgba(70,56,47,.07)
}
.fe-product-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fe-product-top small,.fe-product-top b{display:block}
.fe-product-top small{font-size:6px;font-weight:900;letter-spacing:.13em;color:#aa8e80}
.fe-product-top b{font:900 15px Nunito;color:#4d3b32;margin-top:2px}
.fe-product-top>span{padding:6px 9px;border-radius:999px;background:#f2dfd4;color:#9c634e;font-size:7px;font-weight:900}
.fe-product-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0}
.fe-product-stats>div{padding:9px;border-radius:11px;background:#faf3ee;border:1px solid #eee2db}
.fe-product-stats small,.fe-product-stats b{display:block}
.fe-product-stats small{font-size:6px;color:#9c887e}
.fe-product-stats b{font:900 17px Nunito;color:#4e3d34;margin-top:2px}
.fe-product-row{
  display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;
  padding:9px 4px;border-top:1px solid #eee3dc
}
.fe-product-row>i{width:7px;height:7px;border-radius:50%;background:var(--fe-terra)}
.fe-product-row span,.fe-product-row b,.fe-product-row small{display:block}
.fe-product-row b{font-size:8px}.fe-product-row small{font-size:7px;color:#9a887e;margin-top:1px}
.fe-product-row strong{color:#b7785f;font-size:11px}
.fe-brand-note{
  position:relative;z-index:2;
  margin-top:13px;color:#957e72;
  font-size:7px;font-weight:900;letter-spacing:.14em;text-transform:uppercase
}

/* lado de autenticação */
.fe-auth-side{
  display:flex;align-items:center;justify-content:center;
  padding:42px 46px;
  background:#fffdfb
}
.fe-card{width:min(390px,100%)}
.fe-auth-brand{display:flex;justify-content:flex-start;margin-bottom:28px}
.fe-auth-brand img{display:block;width:138px;height:auto}
.fe-card-head{margin-bottom:18px}
.fe-auth-kicker{
  display:block;color:#ad735b;font-size:7px;font-weight:900;letter-spacing:.15em;margin-bottom:7px
}
.fe-card-head h2,.fe-reset h2,.fe-recovery h2{
  margin:0 0 6px;
  font:900 30px/1.05 Nunito,sans-serif;
  letter-spacing:-.035em;color:var(--fe-brown)
}
.fe-card-head p,.fe-reset>p,.fe-recovery>p{
  margin:0;color:var(--fe-muted);font-size:11px;line-height:1.55
}
.fe-tabs{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  margin:20px 0 18px;padding:4px;
  border:1px solid #eadfd7;border-radius:13px;background:#f6eee9
}
.fe-tabs button{
  border:0;background:transparent;border-radius:9px;padding:10px;
  color:#9b887e;font:800 10px 'DM Sans';cursor:pointer;transition:.15s
}
.fe-tabs button.active{
  background:#fff;color:#4e3d34;
  box-shadow:0 3px 10px rgba(70,56,47,.08)
}
.fe-form{display:none}
.fe-form.active{display:block}
.fe-field{display:block;margin-bottom:12px}
.fe-field>span{
  display:block;margin-bottom:6px;
  color:#65534a;font-size:8px;font-weight:900;letter-spacing:.04em
}
.fe-field input{
  width:100%;height:50px;padding:0 13px;
  border:1px solid #e4d8d0;border-radius:12px;
  background:#fff;color:#493831;outline:none;
  font:500 12px 'DM Sans';transition:.15s
}
.fe-field input::placeholder{color:#b6a69e}
.fe-field input:focus{
  border-color:var(--fe-terra);
  box-shadow:0 0 0 4px rgba(202,138,111,.10)
}
.fe-password{position:relative}
.fe-password input{padding-right:66px}
.fe-show{
  position:absolute;right:7px;bottom:7px;height:36px;
  border:0;border-radius:8px;padding:0 9px;
  background:#f7f0eb;color:#806a60;
  font:800 8px 'DM Sans';cursor:pointer
}
.fe-forgot{text-align:right;margin:-2px 0 15px}
.fe-forgot button,.fe-back{
  border:0;background:transparent;padding:0;
  color:#ad7058;font:800 9px 'DM Sans';cursor:pointer
}
.fe-primary{
  width:100%;height:50px;border:0;border-radius:12px;
  background:var(--fe-terra);color:#fff;
  font:900 11px 'DM Sans';cursor:pointer;
  box-shadow:0 10px 23px rgba(202,138,111,.22);
  transition:.15s
}
.fe-primary:hover{background:var(--fe-terra-dark);transform:translateY(-1px)}
.fe-primary:disabled{opacity:.58;cursor:wait;transform:none}
.fe-helper{
  margin:10px 2px 0;text-align:center;
  color:#9b8b82;font-size:8px;line-height:1.45
}
.fe-reset,.fe-recovery{display:none}
.fe-reset.active,.fe-recovery.active{display:block}
.fe-reset .fe-back{margin-bottom:22px}
.fe-reset form,.fe-recovery form{margin-top:20px}
.fe-message{
  display:none;margin-top:12px;padding:10px 11px;border-radius:10px;
  font-size:9px;line-height:1.45
}
.fe-message.show{display:block}
.fe-message.error{background:#fff1ee;color:#93483f;border:1px solid #efd8d3}
.fe-message.success{background:#eef6f0;color:#4e7259;border:1px solid #dce9df}
.fe-message.info{background:#fbf0ea;color:#8f604c;border:1px solid #ead8cd}
.fe-trust{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:17px;padding-top:14px;border-top:1px solid #eee3dc;
  color:#9a8b83;font-size:7px;font-weight:700
}
.fe-trust i{width:7px;height:7px;border-radius:50%;background:var(--fe-success);box-shadow:0 0 0 4px rgba(93,135,111,.10)}

@media(max-width:1020px){
  .fe-shell{padding:14px}
  .fe-frame{grid-template-columns:1fr;min-height:auto}
  .fe-brand-side{padding:28px 30px 26px}
  .fe-hero{margin-top:34px}
  .fe-product-card{margin-top:30px}
  .fe-auth-side{padding:34px 30px}
  .fe-card{width:min(500px,100%)}
}
@media(max-width:680px){
  .fe-shell{padding:0}
  .fe-frame{border:0;border-radius:0;box-shadow:none}
  .fe-brand-side{padding:22px 20px 24px}
  .fe-brand-top .fe-logo{width:154px}
  .fe-brand-top>span{display:none}
  .fe-hero{margin-top:28px}
  .fe-hero h1{font-size:39px}
  .fe-hero>p{font-size:12px}
  .fe-benefits{grid-template-columns:1fr}
  .fe-benefits>div{display:grid;grid-template-columns:25px 1fr;gap:9px;align-items:center}
  .fe-benefits i{margin:0}
  .fe-product-card{display:none}
  .fe-brand-note{margin-top:20px}
  .fe-auth-side{padding:28px 20px 34px}
  .fe-auth-brand img{width:126px}
  .fe-card-head h2,.fe-reset h2,.fe-recovery h2{font-size:27px}
}
@media(max-width:400px){
  .fe-hero h1{font-size:35px}
  .fe-auth-side{padding-left:17px;padding-right:17px}
}

/* Session bootstrap: mounted but invisible until auth state is known */
#fonelyEntry.fe-session-pending{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#fonelyEntry:not(.fe-session-pending){opacity:1;visibility:visible;transition:opacity .14s ease}
