/* FoneCity v1.5.0 — Portal Login + Perfil
   Isolado à página /perfil/.
*/
.fc-profile-portal{
  --pp-bg:#0f172a;
  --pp-deep:#020617;
  --pp-surface:#1e293b;
  --pp-surface2:#334155;
  --pp-text:#f2f0ea;
  --pp-muted:#94a3b8;
  --pp-line:#475569;
  --pp-gold:#f59e0b;
  --pp-gold2:#fbbf24;
  --pp-blue:#3b82f6;
  min-height:70vh;
  padding:42px 18px 88px;
  background:var(--pp-bg);
  color:var(--pp-text);
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[data-theme="light"] .fc-profile-portal{
  --pp-bg:#f2f0ea;
  --pp-deep:#fffdf7;
  --pp-surface:#fffdf7;
  --pp-surface2:#e8e3da;
  --pp-text:#0f172a;
  --pp-muted:#64748b;
  --pp-line:#d8d1c4;
}
.fc-profile-portal *{box-sizing:border-box}
.fc-profile-portal a{text-decoration:none}
.fc-profile-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--pp-gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fc-profile-primary{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  border:1px solid #d68d06;
  border-radius:14px;
  background:linear-gradient(135deg,var(--pp-gold2),var(--pp-gold));
  color:#0f172a!important;
  font-size:13px;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52);
}
.fc-profile-alert{
  margin-bottom:14px;
  padding:11px 13px;
  border:1px solid rgba(245,158,11,.48);
  border-radius:12px;
  background:rgba(245,158,11,.08);
  color:var(--pp-text);
  font-size:12px;
}

/* Login */
.fc-profile-login{
  width:min(100%,1080px);
  margin:0 auto;
}
.fc-profile-login__brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  margin:0 auto 28px;
  text-align:left;
}
.fc-profile-login__symbol-wrap{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  flex:0 0 92px;
  border:1px solid rgba(245,158,11,.46);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.01)),var(--pp-surface);
}
.fc-profile-login__symbol{
  display:block;
  width:66px;
  height:66px;
  object-fit:contain;
}
.fc-profile-login__brandcopy h1{
  margin:0;
  color:var(--pp-text);
  font-size:clamp(30px,4vw,48px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;
}
.fc-profile-login__brandcopy p{
  max-width:560px;
  margin:9px 0 0;
  color:var(--pp-muted);
  font-size:14px;
  line-height:1.55;
}
.fc-profile-login__grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);
  gap:18px;
  align-items:stretch;
}
.fc-profile-login__aside{
  display:grid;
  gap:12px;
}
.fc-profile-login__aside-card{
  padding:19px;
  border:1px solid var(--pp-line);
  border-radius:18px;
  background:var(--pp-surface);
}
.fc-profile-login__aside-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  border-radius:50%;
  background:rgba(245,158,11,.13);
  color:var(--pp-gold);
  font-size:18px;
  font-weight:700;
}
.fc-profile-login__aside-icon--blue{
  background:rgba(59,130,246,.15);
  color:#60a5fa;
}
.fc-profile-login__aside-card strong{
  display:block;
  color:var(--pp-text);
  font-size:14px;
}
.fc-profile-login__aside-card p{
  margin:6px 0 0;
  color:var(--pp-muted);
  font-size:12px;
  line-height:1.5;
}
.fc-profile-login__main{
  min-width:0;
}
.fc-profile-login-form{
  padding:26px;
  border:1px solid rgba(245,158,11,.62);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),var(--pp-surface);
  box-shadow:0 24px 60px rgba(2,6,23,.20);
}
html[data-theme="light"] .fc-profile-login-form{box-shadow:0 20px 46px rgba(15,23,42,.07)}
.fc-profile-login-form__head{
  margin-bottom:20px;
}
.fc-profile-login-form__head h2{
  margin:0;
  color:var(--pp-text);
  font-size:24px;
  line-height:1.1;
  letter-spacing:-.025em;
}
.fc-profile-login-form__head p{
  margin:7px 0 0;
  color:var(--pp-muted);
  font-size:12px;
}
.fc-profile-field{
  display:block;
  margin-bottom:15px;
}
.fc-profile-field>span:first-child{
  display:block;
  margin-bottom:6px;
  color:var(--pp-text);
  font-size:11px;
  font-weight:600;
}
.fc-profile-field input{
  width:100%;
  min-height:48px;
  padding:10px 13px;
  border:1px solid var(--pp-line);
  border-radius:13px;
  outline:none;
  background:color-mix(in srgb,var(--pp-surface) 76%,var(--pp-bg));
  color:var(--pp-text);
  font:500 14px/1.2 "DM Sans",sans-serif;
}
.fc-profile-field input:focus{
  border-color:var(--pp-gold);
  box-shadow:0 0 0 3px rgba(245,158,11,.10);
}
.fc-profile-password{
  position:relative;
  display:block;
}
.fc-profile-password input{padding-right:52px}
.fc-profile-password__toggle{
  position:absolute;
  top:50%;
  right:7px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--pp-muted);
  cursor:pointer;
}
.fc-profile-password__toggle:hover{color:var(--pp-gold)}
.fc-profile-login-form__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:3px 0 18px;
}
.fc-profile-login-form__meta a{
  color:var(--pp-gold);
  font-size:11px;
}
.fc-profile-remember{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--pp-muted);
  font-size:11px;
}
.fc-profile-login-form .fc-profile-primary{width:100%}
.fc-profile-login-form__foot{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:15px;
  color:var(--pp-muted);
  font-size:11px;
}
.fc-profile-login-form__foot a{color:var(--pp-gold);font-weight:700}
.fc-profile-login__goad{
  margin-top:12px;
}
.fc-profile-login__goad .fcp-goad,
.fc-profile-dashboard__goad .fcp-goad{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:1px solid rgba(245,158,11,.58)!important;
  border-radius:16px!important;
  background:var(--pp-surface)!important;
}
.fc-profile-goad-placeholder{
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:13px;
  border:1px solid rgba(245,158,11,.45);
  border-radius:16px;
  background:var(--pp-surface);
}
.fc-profile-goad-placeholder small{color:var(--pp-gold);font-size:9px;text-transform:uppercase}
.fc-profile-goad-placeholder strong{margin-top:3px;color:var(--pp-muted);font-size:12px}

/* Dashboard */
.fc-profile-dashboard{
  width:min(100%,1160px);
  margin:0 auto;
}
.fc-profile-dashboard__hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px;
  border:1px solid rgba(245,158,11,.60);
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 20%,rgba(245,158,11,.10),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),
    var(--pp-surface);
}
.fc-profile-dashboard__identity{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.fc-profile-dashboard__avatar{
  width:86px;
  height:86px;
  flex:0 0 86px;
  padding:3px;
  border:1px solid rgba(245,158,11,.72);
  border-radius:50%;
  background:var(--pp-deep);
}
.fc-profile-dashboard__avatar img{
  width:100%;
  height:100%;
  display:block;
  border-radius:50%;
  object-fit:cover;
}
.fc-profile-dashboard__identity h1{
  margin:0;
  color:var(--pp-text);
  font-size:clamp(24px,3vw,36px);
  line-height:1.05;
  letter-spacing:-.035em;
}
.fc-profile-dashboard__identity p{
  margin:7px 0 0;
  color:var(--pp-muted);
  font-size:12px;
}
.fc-profile-dashboard__hero-actions{
  display:flex;
  align-items:center;
  gap:9px;
}
.fc-profile-ghost,
.fc-profile-logout{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid var(--pp-line);
  border-radius:12px;
  color:var(--pp-text);
  font-size:11px;
  font-weight:700;
}
.fc-profile-ghost:hover{border-color:var(--pp-gold);color:var(--pp-gold)}
.fc-profile-logout{color:var(--pp-muted)}
.fc-profile-dashboard__stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px;
}
.fc-profile-dashboard__stats article{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px;
  border:1px solid var(--pp-line);
  border-radius:17px;
  background:var(--pp-surface);
}
.fc-profile-dashboard__stats span{color:var(--pp-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.fc-profile-dashboard__stats strong{margin-top:5px;color:var(--pp-text);font-size:27px;line-height:1}
.fc-profile-dashboard__quick{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px;
}
.fc-profile-dashboard__quick a{
  min-height:116px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:16px;
  border:1px solid var(--pp-line);
  border-radius:18px;
  background:var(--pp-surface);
  color:var(--pp-text);
  transition:transform .18s ease,border-color .18s ease;
}
.fc-profile-dashboard__quick a:hover{transform:translateY(-2px);border-color:var(--pp-gold)}
.fc-profile-dashboard__quick a>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  border-radius:50%;
  background:rgba(245,158,11,.13);
  color:var(--pp-gold);
  font-size:17px;
  font-weight:700;
}
.fc-profile-dashboard__quick a>span.is-blue{background:rgba(59,130,246,.15);color:#60a5fa}
.fc-profile-dashboard__quick strong{font-size:12px}
.fc-profile-dashboard__quick small{margin-top:3px;color:var(--pp-muted);font-size:10px}
.fc-profile-dashboard__section{
  margin-top:18px;
  padding:20px;
  border:1px solid var(--pp-line);
  border-radius:22px;
  background:var(--pp-surface);
}
.fc-profile-dashboard__section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}
.fc-profile-dashboard__section-head h2{
  margin:0;
  color:var(--pp-text);
  font-size:21px;
  letter-spacing:-.02em;
}
.fc-profile-dashboard__section-head>a{
  color:var(--pp-gold);
  font-size:11px;
  font-weight:700;
}
.fc-profile-list{
  display:grid;
  gap:10px;
}
.fc-profile-listing-card{
  display:flex;
  gap:13px;
  padding:13px;
  border:1px solid var(--pp-line);
  border-radius:17px;
  background:color-mix(in srgb,var(--pp-surface) 84%,var(--pp-bg));
}
.fc-profile-listing-card.is-featured{border-color:rgba(245,158,11,.76)}
.fc-profile-listing-card__avatar{
  width:60px;
  height:60px;
  flex:0 0 60px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--pp-line);
  border-radius:50%;
  background:var(--pp-surface2);
  color:var(--pp-gold);
  font-size:22px;
  font-weight:700;
}
.fc-profile-listing-card__avatar img{width:100%;height:100%;object-fit:cover}
.fc-profile-listing-card__body{min-width:0;flex:1}
.fc-profile-listing-card__title{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.fc-profile-listing-card__title h3{
  min-width:0;
  margin:0;
  overflow:hidden;
  color:var(--pp-text);
  font-size:14px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.fc-profile-blue{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 18px;
  border-radius:50%;
  background:var(--pp-blue);
  color:#fff;
  font-size:10px;
}
.fc-profile-featured{
  padding:3px 6px;
  border-radius:999px;
  background:rgba(245,158,11,.16);
  color:var(--pp-gold);
  font-size:8px;
  font-weight:700;
  text-transform:uppercase;
}
.fc-profile-listing-card__body>p{
  margin:4px 0 0;
  color:var(--pp-muted);
  font-size:10px;
}
.fc-profile-listing-card__status{margin-top:7px}
.fc-profile-listing-card__status span{
  display:inline-flex;
  padding:3px 7px;
  border-radius:999px;
  background:var(--pp-surface2);
  color:var(--pp-muted);
  font-size:8px;
  font-weight:700;
}
.fc-profile-listing-card__status .is-publish{color:#34d399}
.fc-profile-listing-card__status .is-pending{color:var(--pp-gold)}
.fc-profile-listing-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.fc-profile-listing-card__actions a{
  display:inline-flex;
  min-height:27px;
  align-items:center;
  padding:0 8px;
  border-radius:8px;
  background:var(--pp-surface2);
  color:var(--pp-text);
  font-size:9px;
  font-weight:600;
}
.fc-profile-listing-card__actions a:hover{color:var(--pp-gold)}
.fc-profile-listing-card__actions .is-promote{background:rgba(245,158,11,.13);color:var(--pp-gold)}
.fc-profile-empty{
  padding:36px 18px;
  text-align:center;
}
.fc-profile-empty>span{display:block;color:var(--pp-gold);font-size:30px}
.fc-profile-empty h3{margin:9px 0 5px;color:var(--pp-text);font-size:18px}
.fc-profile-empty p{max-width:420px;margin:0 auto 16px;color:var(--pp-muted);font-size:12px}
.fc-profile-dashboard__management{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:12px;
}
.fc-profile-dashboard__management>a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  border:1px solid var(--pp-line);
  border-radius:18px;
  background:var(--pp-surface);
  color:var(--pp-text);
}
.fc-profile-dashboard__management>a>span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:50%;
  background:rgba(245,158,11,.13);
  color:var(--pp-gold);
  font-weight:700;
}
.fc-profile-dashboard__management>a>span.is-blue{background:rgba(59,130,246,.15);color:#60a5fa}
.fc-profile-dashboard__management strong{display:block;font-size:12px}
.fc-profile-dashboard__management small{display:block;margin-top:3px;color:var(--pp-muted);font-size:10px;line-height:1.4}
.fc-profile-dashboard__goad{margin-top:14px}

/* Mobile */
@media (max-width:760px){
  .fc-profile-portal{padding:24px 12px 96px}
  .fc-profile-login__brand{
    flex-direction:column;
    gap:12px;
    margin-bottom:20px;
    text-align:center;
  }
  .fc-profile-login__symbol-wrap{
    width:82px;height:82px;flex-basis:82px;border-radius:24px;
  }
  .fc-profile-login__symbol{width:60px;height:60px}
  .fc-profile-login__brandcopy p{max-width:340px;font-size:12px}
  .fc-profile-login__grid{grid-template-columns:1fr}
  .fc-profile-login__aside{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .fc-profile-login__aside::-webkit-scrollbar{display:none}
  .fc-profile-login__aside-card{min-width:220px}
  .fc-profile-login-form{padding:21px;border-radius:20px}
  .fc-profile-dashboard__hero{
    align-items:flex-start;
    flex-direction:column;
    padding:18px;
    border-radius:21px;
  }
  .fc-profile-dashboard__identity{gap:13px}
  .fc-profile-dashboard__avatar{width:68px;height:68px;flex-basis:68px}
  .fc-profile-dashboard__hero-actions{width:100%}
  .fc-profile-ghost{flex:1}
  .fc-profile-dashboard__stats{
    grid-template-columns:repeat(4,minmax(92px,1fr));
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .fc-profile-dashboard__stats::-webkit-scrollbar{display:none}
  .fc-profile-dashboard__stats article{min-width:92px}
  .fc-profile-dashboard__quick{
    grid-template-columns:repeat(4,minmax(150px,1fr));
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .fc-profile-dashboard__quick::-webkit-scrollbar{display:none}
  .fc-profile-dashboard__quick a{min-width:150px}
  .fc-profile-dashboard__section{padding:14px;border-radius:18px}
  .fc-profile-listing-card{padding:11px}
  .fc-profile-listing-card__avatar{width:52px;height:52px;flex-basis:52px}
  .fc-profile-dashboard__management{grid-template-columns:1fr}
}
@media (max-width:420px){
  .fc-profile-login-form__meta{align-items:flex-start;flex-direction:column}
  .fc-profile-dashboard__identity h1{font-size:23px}
  .fc-profile-listing-card__actions a{min-height:29px}
}
@media (prefers-reduced-motion:reduce){
  .fc-profile-dashboard__quick a{transition:none}
}


/* FoneCity v1.5.1 — Selo Azul PNG oficial */
.fc-profile-seal-png{
  display:block;
  flex:0 0 auto;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.fc-profile-seal-png--small{
  width:22px;
  height:22px;
}
.fc-profile-seal-png--medium{
  width:38px;
  height:38px;
}
.fc-profile-login__aside-card>.fc-profile-seal-png--medium{
  margin-bottom:12px;
}
.fc-profile-dashboard__quick a>.fc-profile-seal-png--medium{
  margin-bottom:10px;
}
.fc-profile-dashboard__management>a>.fc-profile-seal-png--medium{
  flex:0 0 38px;
}

/* FoneCity v1.5.8 — Login + Cadastro na Plataforma */
.fc-profile-auth-switch{
  display:grid;
  grid-template-columns:1fr 1.55fr;
  gap:6px;
  margin:0 0 10px;
  padding:5px;
  border:1px solid var(--pp-line);
  border-radius:16px;
  background:color-mix(in srgb,var(--pp-surface) 82%,var(--pp-bg));
}
.fc-profile-auth-switch a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:11px;
  color:var(--pp-muted);
  font-size:12px;
  font-weight:700;
  text-align:center;
}
.fc-profile-auth-switch a.is-active{
  background:linear-gradient(135deg,var(--pp-gold2),var(--pp-gold));
  color:#0f172a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52);
}
.fc-profile-register-form{margin-top:0}
.fc-profile-register-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:2px 0 18px;
  color:var(--pp-muted);
  font-size:11px;
  line-height:1.45;
}
.fc-profile-register-consent input{
  flex:0 0 auto;
  margin-top:2px;
  accent-color:var(--pp-gold);
}
.fc-profile-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  clip-path:inset(50%)!important;
}
@media (max-width:640px){
  .fc-profile-auth-switch{grid-template-columns:1fr}
  .fc-profile-auth-switch a{min-height:40px}
}

/* FoneCity v1.5.9 — cadastro da plataforma visível no estado deslogado */
.fc-profile-register-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  margin-top:12px;
  border:1px solid var(--pp-gold);
  border-radius:16px;
  color:var(--pp-ink);
  background:transparent;
  font-weight:800;
  text-decoration:none;
}
.fc-profile-register-cta:hover{
  background:rgba(245,158,11,.10);
}
html[data-theme="dark"] .fc-profile-register-cta{
  color:var(--pp-gold);
}


/* FoneCity v1.6.0 — Perfil usa uma única rota para Login + Cadastro */
.fc-profile-login__grid--single-route{
  display:block;
}
.fc-profile-auth-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.fc-profile-auth-grid .fc-profile-login-form{
  height:100%;
}
.fc-profile-login__aside--steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.fc-profile-login__grid--single-route .fc-profile-login__goad{
  margin-top:14px;
}
@media (max-width:900px){
  .fc-profile-auth-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .fc-profile-login__aside--steps{
    grid-template-columns:repeat(3,minmax(220px,1fr));
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
  }
  .fc-profile-login__aside--steps::-webkit-scrollbar{display:none}
}

/* FoneCity v1.6.2 — força de senha do cadastro da plataforma */
.fc-profile-password-rules{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;
  margin:-4px 0 14px;
  color:var(--pp-muted);
  font-size:11px;
  line-height:1.35;
}
.fc-profile-password-rules span{
  position:relative;
  padding-left:17px;
}
.fc-profile-password-rules span::before{
  content:'•';
  position:absolute;
  left:2px;
  top:0;
  font-weight:900;
  color:var(--pp-muted);
}
.fc-profile-password-rules span.is-valid{color:#167a45}
.fc-profile-password-rules span.is-valid::before{content:'✓';color:#167a45}
.fc-profile-password-rules span.is-invalid{color:var(--pp-muted)}
@media (max-width:640px){
  .fc-profile-password-rules{grid-template-columns:1fr}
}

/* FoneCity 1.6.3 — reCAPTCHA v2 visível no cadastro da Plataforma. */
.fc-profile-recaptcha{
  width:100%;
  margin:2px 0 4px;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.fc-profile-recaptcha .g-recaptcha{max-width:100%}
@media (max-width:380px){
  .fc-profile-recaptcha{height:68px;min-height:68px;overflow:visible}
  .fc-profile-recaptcha .g-recaptcha{
    transform:scale(.86);
    transform-origin:left top;
  }
}

