/* Professional UI consistency layer shared by public and admin surfaces. */
html{
  --ui-accent:#ff6486;
  --ui-accent-soft:rgba(255,100,134,.14);
  --ui-line:rgba(255,255,255,.09);
  --ui-line-strong:rgba(255,255,255,.14);
  --ui-panel:rgba(255,255,255,.045);
  --ui-text:rgba(255,255,255,.92);
  --ui-muted:rgba(255,255,255,.58);
  --ui-shadow:0 18px 48px rgba(0,0,0,.22);
  --ui-radius:20px;
}
html,body{max-width:100%;overscroll-behavior-x:none}
img,svg,video,canvas{max-width:100%}
:focus-visible{outline:2px solid rgba(255,100,134,.72)!important;outline-offset:3px!important}
::selection{background:rgba(255,100,134,.28);color:#fff}
button,.button,a{touch-action:manipulation}
button:disabled,.button[aria-disabled="true"]{opacity:.52!important;cursor:not-allowed!important}

/* Public surfaces keep normal scrolling but hide the browser scrollbar chrome. */
html[data-page-surface="home"],
html[data-page-surface="redes"]{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html[data-page-surface="home"] body,
html[data-page-surface="redes"] body{
  overflow-x:clip;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html[data-page-surface="home"]::-webkit-scrollbar,
html[data-page-surface="home"] body::-webkit-scrollbar,
html[data-page-surface="redes"]::-webkit-scrollbar,
html[data-page-surface="redes"] body::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
html[data-page-surface="home"] #scrollToTop,
html[data-page-surface="redes"] #scrollToTop{
  left:auto!important;
  right:max(18px,env(safe-area-inset-right))!important;
  inset-inline-start:auto!important;
  inset-inline-end:max(18px,env(safe-area-inset-right))!important;
  max-width:48px!important;
  max-height:48px!important;
}

/* Home */
html[data-page-surface="home"]{scroll-padding-top:86px}
html[data-page-surface="home"] .navbar{
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  background:linear-gradient(180deg,rgba(8,9,13,.82),rgba(8,9,13,.68))!important;
  box-shadow:0 10px 34px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
}
html[data-page-surface="home"] .navbar .nav-link{
  position:relative;
  color:rgba(255,255,255,.68)!important;
  border-radius:10px;
  transition:color .18s ease,background .18s ease!important;
}
html[data-page-surface="home"] .navbar .nav-link:hover,
html[data-page-surface="home"] .navbar .nav-link.is-current{
  color:#fff!important;
  background:rgba(255,255,255,.045)!important;
}
html[data-page-surface="home"] .navbar .nav-link.is-current::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background:var(--ui-accent);
  box-shadow:0 0 10px rgba(255,100,134,.35);
}
html[data-page-surface="home"] .hero-title,
html[data-page-surface="home"] .section-heading h2{text-wrap:balance}
html[data-page-surface="home"] .hero-description,
html[data-page-surface="home"] .section-description{text-wrap:pretty}
html[data-page-surface="home"] .hero-actions{gap:10px!important}
html[data-page-surface="home"] .hero-actions .btn{
  position:relative;
  overflow:hidden;
  border-radius:999px!important;
  min-height:48px!important;
  padding-inline:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,filter .18s ease!important;
}
html[data-page-surface="home"] .hero-actions .btn-primary{
  background:linear-gradient(135deg,#f65277,#ff7896)!important;
  border-color:rgba(255,141,164,.34)!important;
  box-shadow:0 12px 30px rgba(246,82,119,.18),inset 0 1px 0 rgba(255,255,255,.20)!important;
}
html[data-page-surface="home"] .hero-actions .btn-secondary{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.11)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
html[data-page-surface="home"] .hero-actions .btn:hover{filter:brightness(1.06)}
html[data-page-surface="home"] .section{scroll-margin-top:82px}
html[data-page-surface="home"] .section-grid>*{min-width:0}
html[data-page-surface="home"] .service-card,
html[data-page-surface="home"] .section-resume .card,
html[data-page-surface="home"] .contact-panel{
  overflow:hidden;
  border-color:rgba(255,255,255,.075)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html[data-page-surface="home"] .service-card:hover,
html[data-page-surface="home"] .section-resume .card:hover{
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 22px 56px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.09)!important;
}
html[data-page-surface="home"] .eyebrow{
  letter-spacing:.12em!important;
  font-weight:700!important;
}

/* Redes */
html[data-page-surface="redes"] body{
  min-height:100dvh!important;
  padding-top:max(28px,env(safe-area-inset-top))!important;
  padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
}
html[data-page-surface="redes"] .main-wrapper{width:min(100%,560px)!important}
html[data-page-surface="redes"] .profile-section{margin-bottom:20px!important}
html[data-page-surface="redes"] .profile-pic{
  transition:box-shadow .22s ease,filter .22s ease!important;
  border-color:rgba(255,255,255,.18)!important;
}
@media(pointer:fine){
  html[data-page-surface="redes"] .profile-pic:hover{
    filter:brightness(1.035);
    box-shadow:0 20px 52px rgba(0,0,0,.38),0 0 0 4px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.22)!important;
  }
}
html[data-page-surface="redes"] .name-container h1{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  text-wrap:balance;
}
html[data-page-surface="redes"] .tagline{
  text-wrap:pretty;
  color:rgba(255,255,255,.64)!important;
}
html[data-page-surface="redes"] .links-container{gap:9px!important}
html[data-page-surface="redes"] .link-btn{
  min-height:64px!important;
  padding:9px 11px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border-color:rgba(255,255,255,.095)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.09)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
html[data-page-surface="redes"] .link-btn:hover,
html[data-page-surface="redes"] .link-btn:focus-visible{
  border-color:rgba(255,255,255,.16)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.027))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.11)!important;
}
html[data-page-surface="redes"] .link-left{gap:11px!important;min-width:0!important}
html[data-page-surface="redes"] .link-info{min-width:0!important;flex:1 1 auto!important}
html[data-page-surface="redes"] .link-title,
html[data-page-surface="redes"] .link-sub{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
html[data-page-surface="redes"] .link-title{letter-spacing:-.01em}
html[data-page-surface="redes"] .link-icon-wrap{
  width:43px!important;
  height:43px!important;
  min-width:43px!important;
  border-radius:14px!important;
}
html[data-page-surface="redes"] .link-arrow{
  display:grid;
  place-items:center;
  min-width:32px;
  width:32px;
  height:32px;
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
html[data-page-surface="redes"] .social-grid{
  margin-top:16px!important;
  padding:7px 8px!important;
  gap:7px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.025)!important;
  border-color:rgba(255,255,255,.075)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.065)!important;
}
html[data-page-surface="redes"] .social-icon{
  width:43px!important;
  height:43px!important;
  min-width:43px!important;
  flex-basis:43px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.075)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html[data-page-surface="redes"] .footer{
  margin-top:14px!important;
  color:rgba(255,255,255,.32)!important;
  letter-spacing:.02em!important;
}
html[data-page-surface="redes"] .footer::before,
html[data-page-surface="redes"] .footer::after,
html[data-page-surface="redes"] #copyright-year::before,
html[data-page-surface="redes"] #copyright-year::after{content:none!important;display:none!important}

/* Admin */
html[data-page-surface="admin"] .admin-premium .topbar{
  position:sticky!important;
  top:8px!important;
  z-index:40!important;
  border-color:rgba(255,255,255,.085)!important;
  background:linear-gradient(155deg,rgba(18,20,27,.91),rgba(12,14,19,.84))!important;
  backdrop-filter:blur(20px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(125%)!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar{
  gap:5px!important;
  background:linear-gradient(160deg,rgba(255,255,255,.038),rgba(255,255,255,.012))!important;
  border-color:rgba(255,255,255,.07)!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar button.nav-item,
html[data-page-surface="admin"] .admin-premium .sidebar .nav-link-card{
  position:relative!important;
  width:100%!important;
  color:rgba(255,255,255,.76)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar button.nav-item:hover,
html[data-page-surface="admin"] .admin-premium .sidebar .nav-link-card:hover{
  color:#fff!important;
  background:rgba(255,255,255,.037)!important;
  border-color:rgba(255,255,255,.06)!important;
  transform:none!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar button.nav-item.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.026))!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:inset 3px 0 0 var(--ui-accent),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar .nav-icon{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:grid!important;
  place-items:center!important;
  color:rgba(255,255,255,.70)!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.055)!important;
  box-shadow:none!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar .nav-item.active .nav-icon{
  color:#fff!important;
  background:rgba(255,100,134,.095)!important;
  border-color:rgba(255,100,134,.17)!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar .nav-copy strong{
  color:inherit!important;
  font-weight:680!important;
}
html[data-page-surface="admin"] .admin-premium .sidebar .nav-copy small{
  color:rgba(255,255,255,.41)!important;
  line-height:1.3!important;
}
html[data-page-surface="admin"] .admin-premium .topbar .secondary{
  color:rgba(255,255,255,.82)!important;
  background:rgba(255,255,255,.038)!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
html[data-page-surface="admin"] .admin-premium .topbar .secondary:hover{
  color:#fff!important;
  background:rgba(255,255,255,.065)!important;
  border-color:rgba(255,255,255,.13)!important;
}
html[data-page-surface="admin"] .admin-premium input::placeholder,
html[data-page-surface="admin"] .admin-premium textarea::placeholder{color:rgba(255,255,255,.27)!important}
html[data-page-surface="admin"] .admin-premium .content-form,
html[data-page-surface="admin"] .admin-premium .resume-item-form,
html[data-page-surface="admin"] .admin-premium .home-link-form,
html[data-page-surface="admin"] .admin-premium .stat-form{
  border-color:rgba(255,255,255,.07)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
html[data-page-surface="admin"] .admin-premium .is-dirty{
  border-color:rgba(246,196,93,.20)!important;
  box-shadow:inset 3px 0 0 rgba(246,196,93,.72),0 16px 42px rgba(0,0,0,.18)!important;
}
html[data-page-surface="admin"] .admin-premium .form-state{
  min-height:24px;
  display:inline-flex;
  align-items:center;
  color:rgba(255,255,255,.47);
  font-size:.76rem;
}
html[data-page-surface="admin"] .admin-premium .form-state.is-saved{color:#7be3aa}
html[data-page-surface="admin"] .admin-premium button[type="submit"],
html[data-page-surface="admin"] .admin-premium #add-item-btn,
html[data-page-surface="admin"] .admin-premium #add-home-link{
  background:linear-gradient(135deg,#f35277,#ff718f)!important;
  border-color:rgba(255,124,150,.28)!important;
  box-shadow:0 8px 22px rgba(243,82,119,.14),inset 0 1px 0 rgba(255,255,255,.15)!important;
}
html[data-page-surface="admin"] .admin-premium .secondary{
  color:rgba(255,255,255,.78)!important;
}
html[data-page-surface="admin"] .admin-premium .empty-state{
  text-align:center!important;
  color:rgba(255,255,255,.50)!important;
  border-style:dashed!important;
}
html[data-page-surface="admin"] .admin-premium .section-summary{
  color:rgba(255,255,255,.58)!important;
  font-variant-numeric:tabular-nums;
}

/* 404 */
html[data-page-surface="404"] .card{isolation:isolate}
html[data-page-surface="404"] .button{transition:filter .18s ease,border-color .18s ease,box-shadow .18s ease!important}
html[data-page-surface="404"] .button:hover{filter:brightness(1.06)}

@media(max-width:980px){
  html[data-page-surface="admin"] .admin-premium .topbar{position:static!important}
  html[data-page-surface="admin"] .admin-premium .sidebar{
    position:static!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html[data-page-surface="admin"] .admin-premium .sidebar-title,
  html[data-page-surface="admin"] .admin-premium .sidebar-divider{grid-column:1/-1!important}
  html[data-page-surface="admin"] .admin-premium .sidebar .nav-copy small{display:none!important}
}
@media(max-width:700px){
  html[data-page-surface="home"] .hero-actions{width:100%!important}
  html[data-page-surface="home"] .hero-actions .btn{flex:1 1 150px!important;min-width:0!important}
  html[data-page-surface="redes"] .link-btn{min-height:62px!important}
  html[data-page-surface="admin"] .admin-premium .shell{padding:7px!important}
}
@media(max-width:520px){
  html[data-page-surface="admin"] .admin-premium .sidebar{grid-template-columns:1fr!important}
  html[data-page-surface="admin"] .admin-premium .sidebar-title,
  html[data-page-surface="admin"] .admin-premium .sidebar-divider{grid-column:1!important}
  html[data-page-surface="redes"] .link-arrow{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  html[data-page-surface="home"] .navbar .nav-link,
  html[data-page-surface="redes"] .profile-pic,
  html[data-page-surface="redes"] .link-btn,
  html[data-page-surface="admin"] .admin-premium .content-form{transition:none!important}
}