:root{
  --bg:#04060f;
  --bg2:#070b1a;
  --bg3:#0a0f24;
  --surface:rgba(255,255,255,0.05);
  --surface2:rgba(255,255,255,0.08);
  --border:rgba(255,255,255,0.12);
  --cyan:#00e5ff;
  --cyan2:#00b3d6;
  --violet:#a855f7;
  --violet2:#7c3aed;
  --aqua:#2fe2c2;
  --pink:#ff5fd0;
  --text:#eaf3ff;
  --muted:#a6b4d0;
  --grad:linear-gradient(120deg,var(--cyan),var(--violet));
  --grad2:linear-gradient(120deg,var(--aqua),var(--cyan));
  --shadow:0 20px 60px -15px rgba(0,229,255,0.25);
  --radius:18px;
  --font-display:'Orbitron',sans-serif;
  --font-body:'Rajdhani',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  letter-spacing:.2px;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(40% 45% at 15% 10%,rgba(124,58,237,.25),transparent 60%),
    radial-gradient(45% 50% at 85% 90%,rgba(0,229,255,.16),transparent 60%),
    radial-gradient(35% 40% at 70% 15%,rgba(47,226,194,.1),transparent 60%);
}
a{color:var(--cyan);text-decoration:none;}
button{font-family:inherit;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15;}
.container{width:min(1200px,92%);margin:0 auto;position:relative;z-index:1;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.grad-text2{background:var(--grad2);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* Scrollbar */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--cyan),var(--violet));border-radius:10px;}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.12s;}
.reveal.d2{transition-delay:.24s;}
.reveal.d3{transition-delay:.36s;}

/* Glass card */
.glass{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 32px rgba(0,0,0,.35);
}
.glass-hover{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.glass-hover:hover{transform:translateY(-8px);border-color:rgba(0,229,255,.5);box-shadow:var(--shadow);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.85rem 1.7rem;border-radius:50px;
  font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.6px;
  border:1px solid transparent;cursor:pointer;transition:.3s ease;position:relative;
}
.btn-primary{
  background:var(--grad);color:#03121a;
  box-shadow:0 8px 30px -6px rgba(0,229,255,.5);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 40px -6px rgba(168,85,247,.6);}
.btn-ghost{border-color:var(--border);color:var(--text);background:var(--surface);backdrop-filter:blur(8px);}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-3px);}
.btn-block{width:100%;justify-content:center;}
.btn-sm{padding:.55rem 1.1rem;font-size:.78rem;}

/* Navbar */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:.4s ease;padding:1.1rem 0;
}
.nav.scrolled{background:rgba(4,6,15,.8);backdrop-filter:blur(16px);padding:.7rem 0;border-bottom:1px solid var(--border);}
.nav .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.35rem;font-weight:800;}
.logo .logo-ic{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:var(--grad);color:#03121a;font-size:1.2rem;
  box-shadow:0 0 22px rgba(0,229,255,.6);
}
.nav-links{display:flex;align-items:center;gap:1.6rem;list-style:none;}
.nav-links a{color:var(--text);font-weight:600;font-size:1.02rem;position:relative;padding:.2rem 0;}
.nav-links a:after{
  content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;
  background:var(--grad);transition:.3s ease;border-radius:2px;
}
.nav-links a:hover:after{width:100%;}
.nav-links a:hover{color:var(--cyan);}
.menu-btn{display:none;background:none;border:none;color:var(--text);font-size:1.6rem;cursor:pointer;}

/* Burger */
.burger{width:26px;height:18px;position:relative;cursor:pointer;}
.burger span{position:absolute;left:0;width:100%;height:2px;background:var(--text);border-radius:2px;transition:.3s;}
.burger span:nth-child(1){top:0;}
.burger span:nth-child(2){top:8px;}
.burger span:nth-child(3){top:16px;}
body.menu-open .burger span:nth-child(1){top:8px;transform:rotate(45deg);}
body.menu-open .burger span:nth-child(2){opacity:0;}
body.menu-open .burger span:nth-child(3){top:8px;transform:rotate(-45deg);}

/* Hero */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:8rem 0 5rem;}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero .overlay-grad{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,6,15,.55),rgba(4,6,15,.15) 40%,var(--bg));
}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;}
.hero-badge{
  display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:50px;
  border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(8px);
  font-size:.82rem;color:var(--aqua);letter-spacing:1px;text-transform:uppercase;
}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--aqua);box-shadow:0 0 10px var(--aqua);animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.hero h1{font-size:clamp(2.4rem,5vw,4.1rem);margin:1.2rem 0 1.2rem;}
.hero h1 .line{display:block;}
.hero p.lead{font-size:1.22rem;color:var(--muted);max-width:44ch;margin-bottom:2rem;}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;}
.hero-stats{display:flex;gap:2.4rem;margin-top:3rem;flex-wrap:wrap;}
.stat b{font-family:var(--font-display);font-size:1.9rem;background:var(--grad2);-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat span{display:block;color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:1.5px;}

/* Hero visual — holographic pet */
.hero-visual{position:relative;display:grid;place-items:center;}
.holo-ring{
  position:absolute;width:min(90%,460px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(0,229,255,.25);
  box-shadow:inset 0 0 60px rgba(0,229,255,.08);
}
.holo-ring.r2{transform:scale(1.25);border-color:rgba(168,85,247,.2);animation:spin 26s linear infinite;}
.holo-ring.r3{transform:scale(.8);border-color:rgba(47,226,194,.2);animation:spin 20s linear reverse infinite;}
.holo-pet{
  position:relative;width:min(72%,360px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 30%,rgba(0,229,255,.18),rgba(168,85,247,.12) 60%,transparent);
  display:grid;place-items:center;font-size:7rem;
  filter:drop-shadow(0 0 30px rgba(0,229,255,.5));
  animation:float 6s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);}}
@keyframes spin{to{transform:rotate(360deg);}}
.holo-tag{
  position:absolute;padding:.5rem .9rem;border-radius:12px;font-size:.78rem;
  background:rgba(4,6,15,.7);border:1px solid var(--border);backdrop-filter:blur(8px);
  box-shadow:0 0 20px rgba(0,0,0,.5);
}
.holo-tag b{color:var(--cyan);}
.holo-tag.t1{top:12%;left:-4%;border-left:3px solid var(--cyan);}
.holo-tag.t2{bottom:16%;right:-6%;border-right:3px solid var(--violet);}
.holo-tag.t3{bottom:-6%;left:8%;border-bottom:3px solid var(--aqua);}

/* Sections general */
section{padding:6rem 0;position:relative;}
.sec-head{text-align:center;max-width:720px;margin:0 auto 3.5rem;}
.sec-head .kicker{color:var(--cyan);letter-spacing:3px;text-transform:uppercase;font-size:.85rem;margin-bottom:.6rem;}
.sec-head h2{font-size:clamp(1.9rem,3.5vw,2.8rem);margin-bottom:1rem;}
.sec-head p{color:var(--muted);font-size:1.1rem;}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
.about-media{position:relative;}
.about-media img{width:100%;border-radius:20px;border:1px solid var(--border);box-shadow:var(--shadow);}
.about-tech{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.6rem;}
.tech-tile{padding:1.2rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(8px);}
.tech-tile .emoji{font-size:1.6rem;}
.tech-tile h4{margin:.6rem 0 .3rem;font-size:.95rem;}
.tech-tile p{font-size:.9rem;color:var(--muted);}
.bar-wrap{margin-top:1rem;}
.bar-row{margin-bottom:.9rem;}
.bar-row .lab{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.3rem;color:var(--muted);}
.bar{height:8px;background:rgba(255,255,255,.08);border-radius:8px;overflow:hidden;}
.bar span{display:block;height:100%;width:0;background:var(--grad);border-radius:8px;transition:width 1.4s ease;box-shadow:0 0 10px rgba(0,229,255,.5);}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.service-card{padding:2rem;position:relative;overflow:hidden;}
.service-card .glow{
  position:absolute;top:-40px;right:-40px;width:130px;height:130px;border-radius:50%;
  filter:blur(40px);opacity:.35;transition:.4s;
}
.service-card:hover .glow{opacity:.7;}
.service-card .sic{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;font-size:1.7rem;margin-bottom:1.2rem;background:var(--surface2);border:1px solid var(--border);}
.service-card h3{font-size:1.15rem;margin-bottom:.6rem;}
.service-card p{color:var(--muted);font-size:.98rem;margin-bottom:1rem;}
.service-card .feature-list{list-style:none;margin-bottom:1.4rem;}
.service-card .feature-list li{font-size:.9rem;color:var(--muted);padding:.2rem 0;}
.service-card .feature-list li:before{content:"✦ ";color:var(--cyan);}
.service-card a.svc-link{font-weight:700;font-size:.95rem;display:inline-flex;align-items:center;gap:.4rem;}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.team-card{text-align:center;padding:1.8rem 1.2rem;position:relative;overflow:hidden;}
.avatar{
  width:92px;height:92px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;font-size:2.4rem;
  background:var(--grad2);color:#03121a;box-shadow:0 0 24px rgba(0,229,255,.45);
}
.team-card h3{font-size:1.05rem;margin-bottom:.2rem;}
.team-card .spec{color:var(--cyan);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;}
.team-card p.bio{font-size:.9rem;color:var(--muted);margin:.7rem 0;}
.spec-chips{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;}
.chip{padding:.25rem .6rem;border-radius:20px;font-size:.7rem;border:1px solid var(--border);color:var(--text);background:var(--surface);}
.chip.cy{color:var(--cyan);border-color:rgba(0,229,255,.4);}
.chip.vi{color:#d8b4fe;border-color:rgba(168,85,247,.4);}

/* Testimonials */
.tes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.tes-card{padding:1.8rem;display:flex;flex-direction:column;gap:.9rem;}
.stars{color:#ffd166;letter-spacing:3px;}
.tes-card blockquote{font-size:1.02rem;color:var(--text);font-style:italic;}
.tes-head{display:flex;align-items:center;gap:.8rem;margin-top:auto;}
.tes-head .tav{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--border);font-size:1.3rem;}
.tes-head b{display:block;font-size:.98rem;}
.tes-head span{font-size:.8rem;color:var(--muted);}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.blog-card{overflow:hidden;display:flex;flex-direction:column;}
.blog-thumb{height:190px;display:grid;place-items:center;font-size:4rem;position:relative;overflow:hidden;}
.blog-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--bg));}
.blog-body{padding:1.5rem;}
.blog-meta{display:flex;gap:.8rem;font-size:.78rem;color:var(--muted);margin-bottom:.6rem;text-transform:uppercase;letter-spacing:1px;}
.blog-card h3{font-size:1.05rem;margin-bottom:.5rem;}
.blog-card p{font-size:.92rem;color:var(--muted);margin-bottom:1rem;}
.blog-card a{font-weight:700;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.form-card{padding:2rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-size:.9rem;margin-bottom:.4rem;color:var(--muted);}
.input,.select,textarea.input{
  width:100%;padding:.85rem 1rem;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text);
  font-family:inherit;font-size:1rem;transition:.3s;outline:none;
}
.input:focus,.select:focus,textarea.input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.15);}
textarea.input{resize:vertical;min-height:110px;}
.info-blocks{display:grid;gap:1.1rem;}
.info-ch{display:flex;gap:1rem;align-items:flex-start;padding:1rem;}
.info-ic{font-size:1.4rem;}
.info-ch h4{font-size:1rem;margin:.2rem 0 .2rem;}
.info-ch p{font-size:.92rem;color:var(--muted);line-height:1.5;}
.map-box{height:220px;border-radius:16px;border:1px solid var(--border);overflow:hidden;position:relative;background:var(--bg3);}
.map-box iframe{width:100%;height:100%;border:0;filter:grayscale(.4) contrast(1.05) brightness(.9);}
.whats-float{
  position:fixed;right:22px;bottom:22px;z-index:90;width:60px;height:60px;border-radius:50%;
  display:grid;place-items:center;background:#25d366;color:#fff;font-size:1.8rem;
  box-shadow:0 8px 30px rgba(37,211,102,.5);transition:.3s;
}
.whats-float:hover{transform:scale(1.12);}
.whats-float .wping{position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:wp 2s infinite;}
@keyframes wp{0%{transform:scale(1);opacity:1;}100%{transform:scale(1.7);opacity:0;}}

/* Footer */
footer{background:rgba(4,6,15,.85);border-top:1px solid var(--border);padding:3.5rem 0 1.5rem;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;}
.foot-grid p{color:var(--muted);font-size:.95rem;margin-top:.9rem;max-width:34ch;}
.foot-grid h4{font-size:1rem;margin-bottom:1rem;}
.foot-links{list-style:none;}
.foot-links li{margin-bottom:.6rem;}
.foot-links a{color:var(--muted);font-size:.95rem;transition:.2s;}
.foot-links a:hover{color:var(--cyan);}
.socials{display:flex;gap:.8rem;margin-top:1.2rem;}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:1.05rem;transition:.3s;}
.socials a:hover{background:var(--grad);color:#03121a;transform:translateY(-4px);}
.foot-bottom{border-top:1px solid var(--border);padding-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);}

/* ============ AUTH (login/cadastro) ============ */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;position:relative;overflow:hidden;}
#auth-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;}
.auth-body .back-link{position:fixed;top:1.4rem;left:1.6rem;z-index:20;font-weight:700;}
.auth-wrap{position:relative;z-index:10;width:min(460px,100%);}
.auth-card{padding:2.3rem 2.2rem;border-radius:22px;}
.auth-card .logo{justify-content:center;margin-bottom:1.4rem;}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.06);border-radius:12px;padding:.3rem;margin-bottom:1.6rem;}
.auth-tab{border:none;background:none;color:var(--muted);padding:.6rem;border-radius:9px;font-family:var(--font-display);font-size:.86rem;cursor:pointer;transition:.3s;}
.auth-tab.active{background:var(--grad);color:#03121a;box-shadow:0 4px 18px rgba(0,229,255,.4);}
.auth-title{text-align:center;margin-bottom:1.5rem;}
.auth-title h3{font-size:1.5rem;}
.auth-title p{color:var(--muted);font-size:.95rem;margin-top:.3rem;}
.auth-msg{
  padding:.8rem 1rem;border-radius:10px;margin-bottom:1.1rem;font-size:.9rem;display:none;
}
.auth-msg.err{display:block;background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.4);color:#ffb4b4;}
.auth-msg.ok{display:block;background:rgba(47,226,194,.1);border:1px solid rgba(47,226,194,.4);color:var(--aqua);}
.demo-hint{margin-top:1.2rem;padding:.8rem 1rem;border-radius:10px;background:rgba(0,229,255,.06);border:1px dashed rgba(0,229,255,.35);font-size:.85rem;color:var(--muted);}
.demo-hint b{color:var(--cyan);}
.demo-hint button{background:none;border:none;color:var(--aqua);cursor:pointer;font-weight:700;text-decoration:underline;font-family:inherit;}

/* ============ DASHBOARD ============ */
.dash{min-height:100vh;display:flex;flex-direction:column;}
.dash-top{background:rgba(4,6,15,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:60;}
.dash-top .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 4%;}
.dash-user{display:flex;align-items:center;gap:.8rem;}
.dash-user .uav{width:42px;height:42px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#03121a;font-weight:800;font-family:var(--font-display);}
.dash-user .uname{font-family:var(--font-display);font-size:.95rem;}
.dash-user .uemail{font-size:.75rem;color:var(--muted);}
.dash-body{padding:2.5rem 4%;flex:1;}
.dash-body .container{max-width:1200px;}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;}
.dash-head h2{font-size:1.7rem;}
.dash-head p{color:var(--muted);}
.hello-name{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}

.grid{display:grid;gap:1.6rem;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.dash-col-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.dash-col-head h3{font-size:1.2rem;display:flex;align-items:center;gap:.5rem;}
.panel{padding:1.6rem;}
.pet-card{display:flex;gap:1rem;align-items:center;padding:1.1rem;border-radius:14px;}
.pet-av{width:56px;height:56px;border-radius:14px;background:var(--surface2);border:1px solid var(--border);display:grid;place-items:center;font-size:2rem;flex-shrink:0;}
.pet-info h4{font-size:1.02rem;}
.pet-info .meta{font-size:.82rem;color:var(--muted);margin-top:.15rem;}
.pet-chip{margin-left:auto;font-size:.7rem;padding:.25rem .6rem;border-radius:20px;background:var(--surface2);border:1px solid var(--border);color:var(--cyan);}

/* Tables / lists */
.hist-list{display:flex;flex-direction:column;gap:.8rem;}
.hist-row{display:flex;gap:.9rem;align-items:center;padding:.85rem 1rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);}
.hist-row .hic{width:40px;height:40px;border-radius:10px;background:var(--surface2);display:grid;place-items:center;font-size:1.2rem;flex-shrink:0;}
.hist-row .htext{flex:1;}
.hist-row .htext b{display:block;font-size:.98rem;}
.hist-row .htext span{font-size:.85rem;color:var(--muted);}
.hist-row .hdate{font-size:.8rem;color:var(--muted);text-align:right;white-space:nowrap;}

.tag{font-size:.72rem;padding:.25rem .6rem;border-radius:20px;border:1px solid;white-space:nowrap;}
.tag.s-green{color:var(--aqua);border-color:rgba(47,226,194,.5);background:rgba(47,226,194,.08);}
.tag.s-yellow{color:#ffd166;border-color:rgba(255,209,102,.5);background:rgba(255,209,102,.08);}
.tag.s-red{color:#ff7b7b;border-color:rgba(255,123,123,.5);background:rgba(255,123,123,.08);}
.tag.s-cyan{color:var(--cyan);border-color:rgba(0,229,255,.5);background:rgba(0,229,255,.08);}

/* Vacinação */
.vac-row{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);}
.vac-row .v-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;}
.vac-row .v-top b{font-size:.98rem;}
.vac-dates{display:flex;gap:1.4rem;font-size:.82rem;color:var(--muted);flex-wrap:wrap;}
.vac-dates i{font-style:normal;}

/* Agendamentos */
.agenda-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.agenda-card{padding:1.1rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);border-left:3px solid var(--cyan);}
.agenda-card .d{font-family:var(--font-display);font-size:.9rem;color:var(--cyan);margin-bottom:.3rem;}
.agenda-card .svc{font-weight:700;}
.agenda-card .why{font-size:.86rem;color:var(--muted);margin-top:.3rem;}

/* Receitas */
.receita-row{display:flex;align-items:center;gap:1rem;padding:.95rem 1rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);}
.receita-row .ric{width:42px;height:42px;border-radius:10px;background:rgba(255,80,80,.1);border:1px solid rgba(255,80,80,.35);display:grid;place-items:center;color:#ff8a8a;flex-shrink:0;}
.receita-row .rtext{flex:1;}
.receita-row .rtext b{display:block;font-size:.96rem;}
.receita-row .rtext span{font-size:.82rem;color:var(--muted);}

/* Modal agendar */
.modal-back{position:fixed;inset:0;background:rgba(2,3,10,.7);backdrop-filter:blur(8px);z-index:200;display:none;place-items:center;padding:1rem;}
.modal-back.open{display:grid;}
.modal{width:min(500px,100%);padding:2rem;max-height:90vh;overflow:auto;}
.modal .m-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
.modal .m-head h3{font-size:1.3rem;}
.modal .close{border:none;background:var(--surface2);color:var(--text);width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:1.1rem;}
.modal form{display:flex;flex-direction:column;gap:1rem;}
.hint-note{font-size:.78rem;color:var(--muted);}
.hint-note b{color:var(--aqua);}
.msg-inline{padding:.7rem .9rem;border-radius:10px;font-size:.9rem;display:none;}
.msg-inline.show{display:block;}
.msg-inline.good{background:rgba(47,226,194,.1);border:1px solid rgba(47,226,194,.4);color:var(--aqua);}
.msg-inline.bad{background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.4);color:#ffb4b4;}
.loading{text-align:center;color:var(--muted);padding:3rem 0;display:none;}
.loading .sp{width:42px;height:42px;border-radius:50%;border:3px solid var(--surface2);border-top-color:var(--cyan);margin:0 auto 1rem;animation:spin 1s linear infinite;}
.empty{padding:1.4rem;text-align:center;border:1px dashed var(--border);border-radius:12px;color:var(--muted);}
.logout-btn{border:1px solid var(--border);background:transparent;color:var(--muted);padding:.6rem 1.1rem;border-radius:10px;cursor:pointer;font-family:var(--font-display);font-size:.8rem;transition:.3s;}
.logout-btn:hover{border-color:#ff7b7b;color:#ff7b7b;}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:960px){
  .hero .container{grid-template-columns:1fr;text-align:center;}
  .hero-cta,.hero-stats{justify-content:center;}
  .hero p.lead{margin-left:auto;margin-right:auto;}
  .hero-visual{order:-1;margin-bottom:1rem;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .services-grid,.tes-grid,.blog-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .nav-links{
    position:fixed;top:0;right:0;height:100vh;width:min(300px,80%);flex-direction:column;
    justify-content:center;gap:2rem;background:rgba(6,9,20,.97);backdrop-filter:blur(20px);
    transform:translateX(100%);transition:.4s ease;border-left:1px solid var(--border);padding:2rem;
  }
  body.menu-open .nav-links{transform:none;}
  .menu-btn{display:block;}
}
@media(max-width:640px){
  .services-grid,.tes-grid,.blog-grid,.team-grid,.grid-3{grid-template-columns:1fr;}
  .agenda-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .hero-stats{gap:1.5rem;}
  .holo-tag{font-size:.68rem;}
  .dash-top .container{flex-wrap:wrap;}
}
