/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
display:flex;
justify-content:center;
align-items:center;
min-height:100vh;
padding:20px;

transition:all .3s ease;
}


/* =========================
TEMAS
========================= */

body.dark{
background:linear-gradient(135deg,#0f172a,#020617);
color:#fff;
}

body.light{
background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
color:#111827;
}


/* =========================
CONTAINER (GLASS EFFECT)
========================= */

.container{

width:100%;
max-width:420px;

border-radius:20px;

padding:28px;

backdrop-filter:blur(14px);

transition:all .3s ease;

animation:fadeUp .6s ease;

}

body.dark .container{

background:rgba(17,24,39,.85);

box-shadow:
0 10px 40px rgba(0,0,0,.5),
0 0 0 1px rgba(255,255,255,.05);

}

body.light .container{

background:rgba(255,255,255,.9);

box-shadow:
0 10px 40px rgba(0,0,0,.15),
0 0 0 1px rgba(0,0,0,.05);

}


/* =========================
ANIMAÇÃO
========================= */

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(25px);
}

to{
opacity:1;
transform:translateY(0);
}

}


/* =========================
HEADER
========================= */

.header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
}


/* BOTÃO TEMA */

.theme-toggle{

border:none;

padding:10px 13px;

border-radius:12px;

cursor:pointer;

font-size:16px;

transition:.25s;

background:#1f2937;
color:#fff;

}

.theme-toggle:hover{

transform:translateY(-2px) scale(1.08);

box-shadow:0 6px 16px rgba(0,0,0,.4);

}

.theme-toggle:active{
transform:scale(.9);
}


/* BOTÃO SHARE */

.share-btn{

background:linear-gradient(135deg,#2563eb,#3b82f6);

border:none;

color:#fff;

padding:10px 16px;

border-radius:12px;

cursor:pointer;

font-size:14px;

font-weight:600;

transition:.25s;

box-shadow:0 6px 18px rgba(37,99,235,.5);

}

.share-btn:hover{

transform:translateY(-2px);

box-shadow:0 10px 24px rgba(37,99,235,.8);

}

.share-btn:active{
transform:scale(.94);
}


/* =========================
PERFIL
========================= */

.profile{
text-align:center;
margin-bottom:25px;
}

.logo{

width:100px;
height:100px;

margin:auto;

border-radius:50%;

overflow:hidden;

border:3px solid #3b82f6;

box-shadow:0 0 25px rgba(59,130,246,.7);

margin-bottom:10px;

}

.logo img{
width:100%;
height:100%;
object-fit:cover;
}

.profile h1{
font-size:22px;
margin-bottom:4px;
}

.subtitle{
font-size:14px;
color:#9ca3af;
}


/* =========================
BOTÃO AGENDAR
========================= */

.primary-action{
margin-bottom:24px;
}

.btn-primary{

display:flex;
align-items:center;
justify-content:center;

gap:8px;

background:linear-gradient(135deg,#2563eb,#3b82f6);

padding:15px;

border-radius:14px;

text-decoration:none;

color:#fff;

font-weight:600;

font-size:16px;

transition:.25s;

box-shadow:0 10px 26px rgba(37,99,235,.6);

}

.btn-primary:hover{

transform:translateY(-4px) scale(1.03);

box-shadow:0 14px 30px rgba(37,99,235,.9);

}

.btn-primary:active{
transform:scale(.96);
}


/* =========================
CARDS MENU
========================= */

.quick-actions{

display:grid;

grid-template-columns:1fr 1fr;

gap:12px;

margin-bottom:22px;

}

.quick-card{

padding:16px;

border-radius:14px;

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-decoration:none;

font-size:14px;

gap:6px;

cursor:pointer;

transition:.25s;

}

body.dark .quick-card{
background:#1f2937;
color:#fff;
}

body.light .quick-card{
background:#f1f5f9;
color:#111;
}

.quick-card i{
font-size:20px;
color:#3b82f6;
}

.quick-card:hover{

transform:translateY(-5px) scale(1.03);

box-shadow:0 10px 20px rgba(0,0,0,.25);

}


/* =========================
SOCIAL
========================= */

.social{
display:flex;
justify-content:center;
gap:18px;
margin-bottom:20px;
}

.social a{

width:44px;
height:44px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;

font-size:18px;

transition:.25s;

}

body.dark .social a{
background:#1f2937;
color:#fff;
}

body.light .social a{
background:#e5e7eb;
color:#111;
}

.social a:hover{

background:#2563eb;
color:#fff;

transform:scale(1.18);

box-shadow:0 6px 16px rgba(37,99,235,.6);

}


/* =========================
FOOTER
========================= */

.footer{
text-align:center;
font-size:12px;
color:#9ca3af;
}


/* =========================
MODAL SHARE
========================= */

.share-modal{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.75);

display:none;

justify-content:center;
align-items:center;

z-index:999;

}


/* MODAL */

.share-content{

padding:25px;

border-radius:16px;

width:300px;

text-align:center;

animation:modalOpen .35s ease;

}

body.dark .share-content{
background:#111827;
}

body.light .share-content{
background:#fff;
}


/* ANIMAÇÃO */

@keyframes modalOpen{

from{
opacity:0;
transform:scale(.8);
}

to{
opacity:1;
transform:scale(1);
}

}


/* QR CODE */

.qr-box{

margin:16px auto;

padding:10px;

background:#fff;

border-radius:12px;

width:150px;
height:150px;

display:flex;
align-items:center;
justify-content:center;

box-shadow:0 0 20px rgba(59,130,246,.5);

transition:.3s;

}

.qr-box:hover{
box-shadow:0 0 35px rgba(59,130,246,1);
}


/* BOTÕES MODAL */

.share-action{

width:100%;

margin-top:10px;

padding:12px;

border:none;

border-radius:10px;

background:linear-gradient(135deg,#2563eb,#3b82f6);

color:#fff;

font-weight:600;

cursor:pointer;

transition:.25s;

}

.share-action:hover{

transform:translateY(-2px);

box-shadow:0 6px 16px rgba(37,99,235,.7);

}

.share-action:active{
transform:scale(.94);
}


.close-share{

width:100%;

margin-top:10px;

padding:12px;

border:none;

border-radius:10px;

background:#374151;

color:#fff;

cursor:pointer;

transition:.25s;

}

.close-share:hover{
background:#4b5563;
}

/* QR CODE */

.qr-box{

margin:16px auto;
padding:10px;

background:#fff;

border-radius:12px;

width:160px;
height:160px;

display:flex;
align-items:center;
justify-content:center;

position:relative;

box-shadow:0 0 20px rgba(59,130,246,.5);

}

#qrcode{
position:relative;
}

/* LOGO CENTRO QR */
.qr-logo{

position:absolute;

width:36px;
height:36px;

background:#fff;

padding:4px;

border-radius:8px;

top:50%;
left:50%;

transform:translate(-50%,-50%);

box-shadow:0 0 8px rgba(0,0,0,.3);

}

.qr-logo img{
width:100%;
height:100%;
object-fit:contain;
}

/* =========================
RESPONSIVO
========================= */

@media (max-width:480px){

.container{
padding:22px;
}

.btn-primary{
font-size:15px;
}

.quick-card{
padding:14px;
}

}