*{
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
}

:root{
    --bg:#000000;
    --card:#170912;
    --card2:#24101c;
    --border:#51233a;
    --pink:#e5649f;
    --text:#ffffff;
    --muted:#d8c5ce;
    --green:#44e28b;
    --darkBtn:#2a1420;
}

body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Arial, Helvetica, sans-serif;
}

.app{
    width:100%;
    max-width:520px;
    margin:0 auto;
    padding:14px 14px 24px;
}

.screen{
    display:none;
}

.screen.active{
    display:block;
}

.card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    margin-bottom:7px;
}

.profile-card{
    padding:14px 14px 14px;
    text-align:center;
}

.logo{
    width:110px;
    height:110px;
    object-fit:cover;
    border-radius:22px;
    display:block;
    margin:0 auto 14px;
}

h1{
    margin:0 0 8px;
    font-size:22px;
    line-height:1.12;
    font-weight:800;
}

.subtitle{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin:0 auto 8px;
    color:var(--pink);
    font-size:18px;
}

.subtitle span{
    width:40px;
    height:2px;
    background:var(--pink);
    opacity:.75;
}

.rating-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    font-size:15px;
    margin-bottom:8px;
}

.stars{
    width:100px;
    height:auto;
    display:block;
}

.deposit-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    max-width:320px;
    margin:0 auto;
}

.deposit-row img{
    width:28px;
    height:28px;
    object-fit:contain;
}

.deposit-row p{
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.2;
    text-align:left;
}

.info-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 16px;
}

.info-icon{
    width:40px;
    height:40px;
    object-fit:contain;
    flex:0 0 auto;
}

.info-card h2,
.address-card h2,
.instagram-card h2,
.works-card h2{
    color:var(--pink);
    font-size:17px;
    margin:0 0 6px;
}

.info-card p,
.address-card p,
.instagram-card p{
    margin:0;
    color:var(--text);
    font-size:16px;
    line-height:1.25;
}

.address-card{
    padding:10px 16px;
}

.address-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:6px;
}

.pin{
    color:var(--pink);
    font-size:22px;
}

.secondary-btn{
    width:100%;
    height:44px;
    margin-top:12px;
    border:0;
    border-radius:20px;
    background:var(--card2);
    color:var(--text);
    font-weight:800;
    font-size:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}

.secondary-btn img{
    width:32px;
    height:32px;
}

.instagram-card{
    display:flex;
    align-items:center;
    gap:13px;
    padding:10px 16px;
    cursor:pointer;
}

.instagram-card img{
    width:50px;
    height:50px;
    border-radius:13px;
}

.instagram-card div{
    flex:1;
}

.arrow{
    color:var(--pink);
    font-size:38px;
    line-height:1;
}

.works-card{
    padding:10px 14px 12px;
}

.works-card h2{
    margin-bottom:10px;
}

.works-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
}

.works-grid img{
    width:100%;
    height:74px;
    object-fit:cover;
    cursor:pointer;
    display:block;
    background:transparent;
}

.primary-btn,
.dark-btn{
    width:100%;
    height:58px;
    border:0;
    border-radius:21px;
    margin-top:9px;
    font-size:18px;
    font-weight:900;
    letter-spacing:.2px;
}

.primary-btn{
    background:var(--pink);
    color:#080408;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}

.primary-btn img{
    width:36px;
    height:36px;
    object-fit:contain;
}

.dark-btn{
    background:var(--darkBtn);
    color:var(--text);
}

/* Páginas internas */
.page-title{
    font-size:30px;
    margin:8px 0 12px;
}

.page-subtitle{
    color:var(--muted);
    font-size:16px;
    line-height:1.35;
    margin:0 0 18px;
}

.service-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.service-row{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    min-height:104px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
}

.service-info{
    flex:1;
    min-width:0;
}

.service-info h2{
    margin:0 0 8px;
    color:var(--text);
    font-size:20px;
    line-height:1.05;
}

.service-info p{
    margin:0 0 8px;
    color:var(--muted);
    font-size:15px;
    line-height:1.25;
}

.service-info .deposit{
    color:var(--pink);
    font-weight:700;
}

.service-info .deposit strong{
    font-weight:900;
}

.service-arrow{
    width:68px;
    height:68px;
    border:0;
    border-radius:20px;
    background:var(--pink);
    color:#080408;
    font-size:38px;
    font-weight:900;
    flex:0 0 auto;
}

.summary-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    padding:20px;
    margin-bottom:12px;
}

.summary-card h2{
    color:var(--pink);
    margin:0 0 20px;
    font-size:24px;
}

.summary-label{
    color:var(--muted);
    margin:0 0 6px;
    font-size:15px;
}

.summary-card p{
    color:var(--text);
    font-size:17px;
}

.summary-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:20px;
}

.summary-grid strong{
    font-size:19px;
}

.pink{
    color:var(--pink);
}

/* Modal fotos */
.photo-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.84);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    z-index:50;
}

.photo-modal.active{
    display:flex;
}

.photo-modal-content{
    width:100%;
    max-width:520px;
    background:#292929;
    border-radius:4px;
    padding:16px;
}

.modal-title{
    color:var(--pink);
    text-align:center;
    font-size:16px;
    margin-bottom:8px;
}

#modalImage{
    width:100%;
    max-height:60vh;
    object-fit:contain;
    background:#111;
}

.modal-actions{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
    margin-top:14px;
}

.modal-actions button{
    height:54px;
    border:0;
    border-radius:18px;
    background:var(--darkBtn);
    color:var(--text);
    font-weight:900;
    font-size:14px;
}

.modal-actions button:nth-child(2){
    background:var(--pink);
    color:#080408;
}

@media(max-width:380px){
    .app{
        padding:10px 12px 22px;
    }

    .logo{
        width:96px;
        height:96px;
    }

    h1{
        font-size:20px;
        margin-bottom:11px;
    }

    .subtitle{
        font-size:16px;
        margin-bottom:11px;
    }

    .rating-row{
        gap:9px;
        font-size:14px;
        margin-bottom:12px;
    }

    .stars{
        width:88px;
    }

    .deposit-row p{
        font-size:14px;
    }

    .info-card,
    .address-card{
        padding:12px 18px;
    }

    .instagram-card{
        padding:10px 18px;
    }

    .works-grid img{
        height:64px;
    }

    .primary-btn,
    .dark-btn{
        height:56px;
        font-size:17px;
    }

    .service-row{
        min-height:96px;
        padding:12px 14px;
    }

    .service-info h2{
        font-size:18px;
    }

    .service-arrow{
        width:60px;
        height:60px;
        font-size:34px;
    }
}

/* Data e horário */
.summary-mini{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:22px;
    padding:16px;
    margin-bottom:8px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.summary-mini strong{
    color:var(--pink);
    font-size:20px;
}

.summary-mini span{
    color:var(--muted);
    font-size:15px;
}

.section-title{
    color:var(--pink);
    font-size:19px;
    margin:18px 0 10px;
}

.date-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:10px;
}

.date-btn{
    border:1px solid var(--border);
    background:var(--card);
    color:var(--text);
    border-radius:20px;
    padding:14px 10px;
    min-height:70px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
}

.date-btn strong{
    color:var(--pink);
    font-size:18px;
}

.date-btn span{
    font-size:15px;
}

.date-btn.selected{
    background:var(--pink);
    color:#080408;
    border-color:var(--pink);
}

.date-btn.selected strong{
    color:#080408;
}

.time-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
}

.time-btn{
    height:52px;
    border:0;
    border-radius:18px;
    font-weight:900;
    font-size:16px;
}

.time-btn.available{
    background:var(--pink);
    color:#080408;
}

.time-btn.selected{
    outline:3px solid #fff;
    transform:scale(.98);
}

.legend-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:20px;
    padding:14px;
    margin-top:14px;
    display:grid;
    gap:8px;
    color:var(--muted);
    font-size:14px;
}

.legend-dot{
    display:inline-block;
    width:13px;
    height:13px;
    border-radius:50%;
    margin-right:8px;
    vertical-align:-1px;
}

.pink-dot{ background:var(--pink); }
.yellow-dot{ background:#ffd34d; }
.green-dot{ background:var(--green); }
.dark-dot{ background:#555; }

.empty-message{
    grid-column:1 / -1;
    color:var(--muted);
    text-align:center;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:18px;
    padding:18px;
}

@media(max-width:380px){
    .time-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

/* Ajuste fluxo igual ao Pydroid: serviço → data → horários */
.manual-date-title{
    color:var(--muted);
    font-size:16px;
    margin:18px 0 8px;
}

.manual-date-input{
    width:100%;
    height:58px;
    border:0;
    border-radius:18px;
    padding:0 16px;
    margin-bottom:4px;
    background:#fff0f6;
    color:#080408;
    font-size:18px;
    font-weight:700;
    outline:none;
}

.manual-date-input::placeholder{
    color:#6b5962;
}

.compact-legend{
    margin:4px 0 14px;
}

.helper-text{
    color:var(--muted);
    text-align:center;
    font-size:15px;
    line-height:1.3;
    margin:14px 0 2px;
}

.time-grid{
    grid-template-columns:repeat(2, 1fr);
}

.time-btn{
    height:64px;
    line-height:1.05;
}

.time-btn small{
    font-size:12px;
    font-weight:900;
}


/* Dados da cliente, resumo e Pix - fluxo igual ao Pydroid */
.form-input{
    width:100%;
    height:70px;
    border:0;
    border-radius:0;
    padding:0 20px;
    margin:0 0 14px;
    background:#fff0f6;
    color:#080408;
    font-size:20px;
    outline:none;
}

.form-input::placeholder{
    color:#867982;
}

.important-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    padding:22px 20px;
    margin:8px 0 12px;
}

.important-card strong,
.how-card strong{
    color:var(--pink);
    font-size:18px;
}

.important-card p{
    color:var(--muted);
    font-size:17px;
    line-height:1.25;
    margin:24px 0 0;
}

.resume-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:26px;
    padding:34px 28px 30px;
    margin:24px 0 18px;
}

.resume-card div{
    margin-bottom:34px;
}

.resume-card span{
    display:block;
    color:var(--text);
    font-size:20px;
    line-height:1.1;
}

.resume-card strong{
    display:block;
    color:var(--text);
    font-size:20px;
    line-height:1.1;
}

.resume-card p{
    font-size:20px;
    margin:0 0 34px;
}

.deposit-big{
    margin-bottom:0!important;
}

.deposit-big span,
.deposit-big strong{
    color:var(--pink);
    font-size:29px;
}

.note-card{
    background:#050405;
    border-radius:24px;
    color:var(--muted);
    padding:28px 18px;
    text-align:center;
    font-size:18px;
    line-height:1.25;
    margin-bottom:18px;
}

.loading-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.82);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:80;
    padding:28px;
}

.loading-modal.active{
    display:flex;
}

.loading-box{
    width:100%;
    max-width:440px;
    background:#282828;
    padding:28px 18px 30px;
    text-align:center;
    color:var(--text);
}

.loading-title{
    text-align:left;
    font-size:17px;
    margin-bottom:8px;
}

.loading-line{
    height:3px;
    background:#4ec3f2;
    margin-bottom:36px;
}

.loading-box strong{
    color:var(--pink);
    font-size:22px;
}

.loading-box p{
    color:var(--muted);
    font-size:18px;
    line-height:1.25;
    margin:38px 0 0;
}

.pix-title{
    margin-bottom:8px;
}

.pix-subtitle{
    text-align:center;
    font-size:17px;
}

.pix-info-card,
.pix-safe-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:26px;
    padding:20px 22px;
    margin-bottom:18px;
}

.pix-info-card p{
    margin:0 0 20px;
    font-size:18px;
}

.pix-info-card div{
    color:var(--pink);
    font-size:25px;
    margin-bottom:22px;
}

.pix-info-card div strong{
    color:var(--pink);
}

.qr-card{
    background:#fff0f6;
    border-radius:28px;
    padding:24px;
    margin-bottom:18px;
}

.qr-fake{
    width:255px;
    height:255px;
    margin:0 auto;
    background:#fff;
    display:grid;
    grid-template-columns:repeat(8,1fr);
    grid-template-rows:repeat(8,1fr);
    gap:5px;
    padding:16px;
}

.qr-fake div{
    background:#111;
}

.qr-fake div:nth-child(2n),
.qr-fake div:nth-child(5n),
.qr-fake div:nth-child(7n){
    background:#fff;
}

.pix-safe-card{
    text-align:center;
}

.pix-safe-card strong{
    color:var(--pink);
    font-size:21px;
}

.pix-safe-card p{
    color:var(--muted);
    font-size:16px;
    line-height:1.35;
    margin:28px 0 0;
}

.how-card{
    background:#050405;
    border-radius:24px;
    padding:22px 20px;
    margin:20px 0 18px;
}

.how-card p{
    color:var(--muted);
    font-size:17px;
    line-height:1.35;
    margin:24px 0 0;
}

@media(max-width:380px){
    .form-input{ height:64px; font-size:18px; }
    .resume-card{ padding:28px 24px; }
    .deposit-big span,.deposit-big strong{ font-size:25px; }
    .qr-fake{ width:220px; height:220px; }
}

/* Ajuste v3: tela Pix compacta para caber melhor no celular, com pouco ou nenhum scroll */
#pixScreen .page-title{
    font-size:34px;
    margin-bottom:6px;
}

#pixScreen .page-subtitle{
    font-size:16px;
    line-height:1.22;
    margin-bottom:12px;
}

#pixScreen .pix-info-card{
    padding:16px 18px;
    border-radius:24px;
    margin-bottom:12px;
}

#pixScreen .pix-info-card p{
    font-size:17px;
    margin:0 0 12px;
}

#pixScreen .pix-info-card div{
    font-size:24px;
    margin-bottom:12px;
}

.pix-compact-row{
    display:grid;
    grid-template-columns: 150px 1fr;
    gap:10px;
    align-items:stretch;
    margin-bottom:12px;
}

#pixScreen .qr-card{
    padding:12px;
    border-radius:24px;
    margin:0;
    min-height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
}

#pixScreen .qr-fake{
    width:124px;
    height:124px;
    gap:3px;
    padding:9px;
}

#pixScreen .pix-safe-card{
    margin:0;
    padding:18px 14px;
    border-radius:24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

#pixScreen .pix-safe-card strong{
    font-size:19px;
}

#pixScreen .pix-safe-card p{
    font-size:14px;
    line-height:1.25;
    margin:16px 0 0;
}

#pixScreen .primary-btn,
#pixScreen .dark-btn{
    min-height:54px;
    height:54px;
    font-size:18px;
    margin-bottom:10px;
}

#pixScreen .how-card{
    margin:0 0 12px;
    padding:16px 18px;
    border-radius:22px;
}

#pixScreen .how-card p{
    font-size:15px;
    line-height:1.26;
    margin:12px 0 0;
}

@media(max-width:380px){
    .pix-compact-row{ grid-template-columns: 132px 1fr; gap:8px; }
    #pixScreen .qr-fake{ width:106px; height:106px; }
    #pixScreen .qr-card{ min-height:132px; }
    #pixScreen .pix-info-card div{ font-size:22px; }
}

/* v4: Meus Agendamentos bonito e funcional no navegador */
.lookup-card{
    background:linear-gradient(135deg, #24101c 0%, #170912 62%, #0b0509 100%);
    border:1px solid var(--border);
    border-radius:26px;
    padding:18px;
    margin:0 0 16px;
    display:flex;
    align-items:center;
    gap:14px;
    box-shadow:0 10px 28px rgba(229,100,159,.08);
}

.lookup-icon{
    width:56px;
    height:56px;
    border-radius:20px;
    background:rgba(229,100,159,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex:0 0 auto;
}

.lookup-card strong{
    display:block;
    color:var(--pink);
    font-size:20px;
    margin-bottom:6px;
}

.lookup-card p{
    color:var(--muted);
    font-size:15px;
    line-height:1.25;
    margin:0;
}

.appointments-result{
    margin-top:16px;
}

.appointment-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:28px;
    padding:20px;
    margin:0 0 16px;
    overflow:hidden;
    position:relative;
}

.appointment-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:6px;
    height:100%;
    background:#ffd34d;
}

.appointment-card.confirmed::before{ background:var(--green); }
.appointment-card.cancelled::before{ background:#666; }

.appointment-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
}

.appointment-top span,
.appointment-details span,
.appointment-client span{
    display:block;
    color:var(--muted);
    font-size:13px;
    margin-bottom:5px;
}

.appointment-top strong{
    color:var(--text);
    font-size:21px;
    line-height:1.1;
}

.appointment-top em{
    background:rgba(255,211,77,.14);
    border:1px solid rgba(255,211,77,.34);
    color:#ffd34d;
    border-radius:999px;
    padding:8px 10px;
    font-style:normal;
    font-weight:900;
    font-size:12px;
    white-space:nowrap;
}

.appointment-card.confirmed .appointment-top em{
    background:rgba(68,226,139,.14);
    border-color:rgba(68,226,139,.34);
    color:var(--green);
}

.appointment-card.cancelled .appointment-top em{
    background:rgba(100,100,100,.18);
    border-color:rgba(120,120,120,.34);
    color:#bbb;
}

.appointment-details{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    margin-bottom:16px;
}

.appointment-details div{
    background:#0a0508;
    border-radius:18px;
    padding:13px 14px;
}

.appointment-details strong{
    color:var(--text);
    font-size:17px;
}

.appointment-details div:nth-child(4) strong{
    color:var(--pink);
}

.appointment-client{
    background:rgba(229,100,159,.08);
    border-radius:18px;
    padding:13px 14px;
    margin-bottom:8px;
}

.appointment-client strong{
    font-size:18px;
}

.cancel-appointment-btn{
    width:100%;
    height:54px;
    border:1px solid rgba(229,100,159,.42);
    border-radius:19px;
    background:#341321;
    color:var(--text);
    font-size:15px;
    font-weight:900;
}

.empty-appointments,
.appointments-help-card{
    background:#050405;
    border-radius:24px;
    padding:20px;
    margin:0 0 16px;
    color:var(--muted);
}

.empty-appointments{
    border:1px solid var(--border);
    text-align:center;
}

.empty-appointments strong,
.appointments-help-card strong{
    color:var(--pink);
    font-size:18px;
}

.empty-appointments p,
.appointments-help-card p{
    font-size:16px;
    line-height:1.3;
    margin:12px 0 0;
}

@media(max-width:380px){
    .appointment-details{ gap:9px; }
    .appointment-details div{ padding:11px 12px; }
    .appointment-top strong{ font-size:19px; }
}


/* v5: Meus Agendamentos compacto + modal bonito */
#myAppointmentsScreen .page-title{
    font-size:28px;
    margin:6px 0 8px;
}

#myAppointmentsScreen .page-subtitle{
    font-size:15px;
    margin-bottom:12px;
}

#myAppointmentsScreen .lookup-card{
    border-radius:22px;
    padding:12px 14px;
    margin-bottom:12px;
    gap:12px;
}

#myAppointmentsScreen .lookup-icon{
    width:46px;
    height:46px;
    border-radius:16px;
    font-size:23px;
}

#myAppointmentsScreen .lookup-card strong{
    font-size:18px;
    margin-bottom:3px;
}

#myAppointmentsScreen .lookup-card p{
    font-size:14px;
}

#myAppointmentsScreen .form-input{
    height:56px;
    font-size:18px;
    margin-bottom:10px;
    padding:0 16px;
}

#myAppointmentsScreen .primary-btn,
#myAppointmentsScreen .dark-btn{
    height:54px;
    font-size:16px;
    border-radius:19px;
    margin-top:8px;
}

#myAppointmentsScreen .appointments-result{
    margin-top:12px;
}

#myAppointmentsScreen .appointment-card{
    border-radius:24px;
    padding:14px 14px 14px 18px;
    margin-bottom:12px;
}

#myAppointmentsScreen .appointment-top{
    margin-bottom:12px;
    gap:8px;
}

#myAppointmentsScreen .appointment-top span,
#myAppointmentsScreen .appointment-details span,
#myAppointmentsScreen .appointment-client span{
    font-size:12px;
    margin-bottom:3px;
}

#myAppointmentsScreen .appointment-top strong{
    font-size:19px;
}

#myAppointmentsScreen .appointment-top em{
    padding:7px 9px;
    font-size:11px;
}

#myAppointmentsScreen .appointment-details{
    gap:8px;
    margin-bottom:10px;
}

#myAppointmentsScreen .appointment-details div{
    border-radius:15px;
    padding:9px 11px;
}

#myAppointmentsScreen .appointment-details strong{
    font-size:16px;
}

#myAppointmentsScreen .appointment-client{
    border-radius:15px;
    padding:10px 12px;
    margin-bottom:10px;
}

#myAppointmentsScreen .appointment-client strong{
    font-size:17px;
}

#myAppointmentsScreen .cancel-appointment-btn{
    height:48px;
    border-radius:17px;
    font-size:14px;
}

#myAppointmentsScreen .appointments-help-card,
#myAppointmentsScreen .empty-appointments{
    border-radius:20px;
    padding:14px 16px;
    margin-bottom:12px;
}

#myAppointmentsScreen .appointments-help-card strong,
#myAppointmentsScreen .empty-appointments strong{
    font-size:16px;
}

#myAppointmentsScreen .appointments-help-card p,
#myAppointmentsScreen .empty-appointments p{
    font-size:14px;
    margin-top:8px;
}

.confirm-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.78);
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    z-index:80;
}

.confirm-modal.active{
    display:flex;
}

.confirm-box{
    width:100%;
    max-width:420px;
    background:linear-gradient(145deg, #24101c 0%, #170912 70%);
    border:1px solid rgba(229,100,159,.38);
    border-radius:28px;
    padding:24px 20px 18px;
    text-align:center;
    box-shadow:0 22px 70px rgba(0,0,0,.55);
}

.confirm-icon{
    width:48px;
    height:48px;
    border-radius:50%;
    margin:0 auto 12px;
    background:rgba(229,100,159,.16);
    color:var(--pink);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    font-weight:900;
    border:1px solid rgba(229,100,159,.45);
}

.confirm-box strong{
    display:block;
    font-size:22px;
    color:var(--text);
    margin-bottom:8px;
}

.confirm-box p{
    color:var(--muted);
    font-size:15px;
    line-height:1.35;
    margin:0 0 18px;
}

.confirm-actions{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:10px;
}

.confirm-actions button{
    height:50px;
    border:0;
    border-radius:18px;
    font-size:14px;
    font-weight:900;
}

.confirm-secondary{
    background:var(--darkBtn);
    color:var(--text);
}

.confirm-danger{
    background:var(--pink);
    color:#080408;
}

/* Estados reais dos horários conforme reservas locais */
.time-btn.temporary{
    background:#6f5514;
    color:#fff7d0;
}

.time-btn.confirmed{
    background:var(--green);
    color:#06150b;
}

.time-btn.unavailable{
    background:#242024;
    color:#8c858b;
}

.time-btn:disabled{
    opacity:.95;
}

/* v10: funcionamento detalhado + sábado sem almoço + Meus Agendamentos mais compacto */
.info-card p span{
    color:var(--muted);
    font-size:14px;
}

#myAppointmentsScreen .page-title{
    font-size:26px;
    margin:4px 0 6px;
}

#myAppointmentsScreen .page-subtitle{
    font-size:14px;
    line-height:1.25;
    margin-bottom:10px;
}

#myAppointmentsScreen .lookup-card{
    padding:10px 12px;
    margin-bottom:10px;
    border-radius:20px;
}

#myAppointmentsScreen .lookup-icon{
    width:40px;
    height:40px;
    border-radius:14px;
    font-size:20px;
}

#myAppointmentsScreen .lookup-card strong{
    font-size:17px;
    margin-bottom:2px;
}

#myAppointmentsScreen .lookup-card p{
    font-size:13px;
    line-height:1.2;
}

#myAppointmentsScreen .form-input{
    height:50px;
    font-size:17px;
    margin-bottom:8px;
    padding:0 14px;
}

#myAppointmentsScreen .primary-btn,
#myAppointmentsScreen .dark-btn{
    height:50px;
    font-size:15px;
    border-radius:18px;
    margin-top:7px;
}

#myAppointmentsScreen .appointment-card{
    padding:12px 12px 12px 16px;
    border-radius:22px;
    margin-bottom:10px;
}

#myAppointmentsScreen .appointment-top{
    margin-bottom:10px;
}

#myAppointmentsScreen .appointment-top strong{
    font-size:18px;
}

#myAppointmentsScreen .appointment-details{
    gap:7px;
    margin-bottom:8px;
}

#myAppointmentsScreen .appointment-details div{
    padding:8px 9px;
    border-radius:14px;
}

#myAppointmentsScreen .appointment-details strong{
    font-size:15px;
}

#myAppointmentsScreen .appointment-client{
    padding:8px 10px;
    margin-bottom:8px;
}

#myAppointmentsScreen .cancel-appointment-btn{
    height:44px;
    font-size:13px;
}

#myAppointmentsScreen .appointments-help-card{
    display:none;
}


/* v12: Home reorganizada + botões principais mais visíveis */
.home-main-btn{
    height:50px;
    min-height:50px;
    border-radius:18px;
    margin-top:7px;
    margin-bottom:7px;
    font-size:17px;
}

.home-main-btn img{
    width:30px;
    height:30px;
}

#homeScreen .info-card{
    margin-bottom:8px;
}

#homeScreen .instagram-card{
    margin-top:8px;
}

#homeScreen .address-card{
    margin-top:8px;
}

/* v12: Meus Agendamentos ainda mais compacto */
#myAppointmentsScreen .lookup-card{
    padding:8px 10px;
    margin-bottom:8px;
}

#myAppointmentsScreen .lookup-icon{
    width:36px;
    height:36px;
    border-radius:12px;
    font-size:18px;
}

#myAppointmentsScreen .form-input{
    height:44px;
    font-size:16px;
    margin-bottom:7px;
    padding:0 12px;
}

#myAppointmentsScreen .primary-btn,
#myAppointmentsScreen .dark-btn{
    height:46px;
    min-height:46px;
    font-size:14px;
    border-radius:16px;
}

#myAppointmentsScreen .appointment-card{
    padding:10px 10px 10px 15px;
}

#myAppointmentsScreen .appointment-details div{
    padding:7px 8px;
}

#myAppointmentsScreen .cancel-appointment-btn{
    height:40px;
}

/* v12: tela de sucesso pós Pix */
.success-card{
    background:linear-gradient(145deg, #24101c 0%, #170912 72%);
    border:1px solid rgba(229,100,159,.42);
    border-radius:28px;
    padding:24px 20px;
    margin:18px 0 16px;
    text-align:center;
    box-shadow:0 14px 45px rgba(229,100,159,.08);
}

.success-icon{
    width:62px;
    height:62px;
    border-radius:50%;
    margin:0 auto 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(68,226,139,.14);
    border:1px solid rgba(68,226,139,.38);
    color:var(--green);
    font-size:36px;
    font-weight:900;
}

.success-card h1{
    font-size:30px;
    margin:0 0 10px;
}

.success-card p{
    color:var(--muted);
    font-size:16px;
    line-height:1.32;
    margin:0 0 18px;
}

.success-summary{
    background:#0a0508;
    border-radius:20px;
    padding:14px 16px;
    text-align:left;
}

.success-summary span{
    display:block;
    color:var(--muted);
    font-size:13px;
    margin-top:8px;
}

.success-summary span:first-child{
    margin-top:0;
}

.success-summary strong{
    display:block;
    color:var(--text);
    font-size:18px;
    margin-top:3px;
}


/* v14: mantém Home boa da v12 e aplica só melhorias funcionais/compactas */
.primary-btn,
.dark-btn{
    height:52px;
    min-height:52px;
}

.home-main-btn{
    height:48px;
    min-height:48px;
    border-radius:17px;
    font-size:16px;
}

.form-input{
    height:58px;
    font-size:18px;
    margin-bottom:10px;
}

#clientScreen .form-input{
    height:56px;
}

#clientScreen .important-card{
    padding:16px 18px;
    border-radius:22px;
}

#clientScreen .important-card p{
    margin-top:12px;
    font-size:15px;
}

#summaryScreen .resume-card{
    padding:24px 22px 22px;
    margin:14px 0 12px;
}

#summaryScreen .resume-card div{
    margin-bottom:22px;
}

#summaryScreen .resume-card p{
    margin-bottom:22px;
    font-size:18px;
}

#summaryScreen .deposit-big span,
#summaryScreen .deposit-big strong{
    font-size:25px;
}

#summaryScreen .note-card{
    padding:18px 16px;
    font-size:16px;
    margin-bottom:12px;
}

#myAppointmentsScreen .form-input{
    height:42px;
    font-size:15px;
}

#myAppointmentsScreen .appointment-card{
    padding:9px 10px 9px 15px;
    border-radius:20px;
}

#myAppointmentsScreen .appointment-card::before{
    width:5px;
}

#myAppointmentsScreen .appointment-top{
    margin-bottom:8px;
}

#myAppointmentsScreen .appointment-top strong{
    font-size:17px;
}

#myAppointmentsScreen .appointment-top em{
    font-size:10px;
    padding:6px 8px;
}

#myAppointmentsScreen .appointment-details{
    gap:6px;
    margin-bottom:7px;
}

#myAppointmentsScreen .appointment-details div{
    padding:6px 8px;
    border-radius:12px;
}

#myAppointmentsScreen .appointment-details span,
#myAppointmentsScreen .appointment-client span{
    font-size:11px;
}

#myAppointmentsScreen .appointment-details strong{
    font-size:14px;
}

#myAppointmentsScreen .appointment-client{
    padding:7px 9px;
    border-radius:12px;
    margin-bottom:7px;
}

#myAppointmentsScreen .appointment-client strong{
    font-size:15px;
}

#myAppointmentsScreen .cancel-appointment-btn{
    height:38px;
    font-size:12px;
    border-radius:14px;
}

.appointment-card.temporary{
    box-shadow:0 0 0 1px rgba(255,211,77,.14), 0 10px 30px rgba(255,211,77,.08);
}

.appointment-card.temporary::before{
    background:linear-gradient(180deg,#ffd34d,#9f7615);
}

.appointment-card.temporary .appointment-top em{
    background:linear-gradient(135deg, rgba(255,211,77,.22), rgba(111,85,20,.55));
    color:#ffe28a;
    border-color:rgba(255,211,77,.48);
}

.appointment-card.expired::before{ background:#555; }
.appointment-card.expired .appointment-top em{
    background:rgba(90,90,90,.18);
    border-color:rgba(120,120,120,.28);
    color:#aaa;
}

.time-btn.temporary{
    background:linear-gradient(135deg,#8b6a18,#5a410c);
    color:#fff3bf;
    box-shadow:inset 0 0 0 1px rgba(255,211,77,.18);
}

.time-btn.confirmed{
    background:linear-gradient(135deg,#44e28b,#1f9d5b);
    color:#06150b;
}

.time-btn.unavailable{
    background:#201c20;
    color:#8f878d;
}

.pix-countdown-line{
    color:var(--muted);
}

.pix-countdown-line strong{
    color:#ffd34d;
}

#pixScreen .pix-info-card{
    padding:14px 16px;
}

#pixScreen .pix-info-card p{
    margin-bottom:9px;
}

#pixScreen .pix-info-card div{
    margin-bottom:9px;
}

.loading-box{
    padding:22px 16px 24px;
}

.loading-line{
    margin-bottom:24px;
}

.loading-box p{
    margin-top:24px;
}


/* v15: Painel da Lívia */
.admin-photo-btn{
    margin:4px 0 12px;
}

.admin-stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-bottom:12px;
}

.admin-stat{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:20px;
    padding:14px 8px;
    text-align:center;
}

.admin-stat strong{
    display:block;
    color:var(--pink);
    font-size:24px;
    margin-bottom:5px;
}

.admin-stat span{
    color:var(--muted);
    font-size:13px;
}

.admin-stat.danger strong{
    color:#ff4c70;
}

.admin-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    padding:16px;
    margin-bottom:12px;
}

.admin-card h2,
.admin-section-title{
    color:var(--pink);
    font-size:20px;
    margin:0 0 12px;
}

.admin-money-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-bottom:10px;
}

.admin-money-grid div,
.admin-summary-grid div{
    background:#090507;
    border-radius:16px;
    padding:11px 8px;
    text-align:center;
}

.admin-money-grid span,
.admin-summary-grid span{
    display:block;
    color:var(--muted);
    font-size:12px;
    margin-bottom:5px;
}

.admin-money-grid strong,
.admin-summary-grid strong{
    color:var(--text);
    font-size:15px;
}

.admin-line{
    color:var(--muted);
    font-size:14px;
    line-height:1.3;
    margin:8px 0 0;
    text-align:center;
}

.admin-summary-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
}

.admin-summary-grid strong{
    color:var(--pink);
    font-size:19px;
}

.admin-list{
    margin-top:10px;
}

.admin-empty{
    color:var(--muted);
    text-align:center;
    font-size:15px;
    padding:18px 8px;
    margin:0;
}

.admin-today-item{
    background:#090507;
    border-radius:16px;
    padding:10px 12px;
    margin-bottom:8px;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:8px;
    align-items:center;
}

.admin-today-item strong{
    color:var(--pink);
    font-size:17px;
}

.admin-today-item span{
    color:var(--text);
    font-size:14px;
}

.admin-today-item em{
    grid-column:2;
    color:#ffd34d;
    font-style:normal;
    font-size:12px;
}

.admin-filter-row{
    display:flex;
    gap:6px;
    overflow-x:auto;
    margin-bottom:12px;
    padding-bottom:2px;
}

.admin-filter{
    border:1px solid var(--border);
    background:#090507;
    color:var(--muted);
    border-radius:999px;
    padding:9px 11px;
    font-weight:800;
    font-size:12px;
    white-space:nowrap;
}

.admin-filter.active{
    background:var(--pink);
    color:#080408;
    border-color:var(--pink);
}

.admin-booking-card{
    background:#140910;
    border:1px solid var(--border);
    border-radius:22px;
    padding:14px;
    margin-bottom:12px;
    position:relative;
    overflow:hidden;
}

.admin-booking-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:#ffd34d;
}

.admin-booking-card.confirmed::before{ background:var(--green); }
.admin-booking-card.cancelled::before,
.admin-booking-card.expired::before{ background:#666; }

.admin-booking-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}

.admin-booking-head strong{
    color:var(--pink);
    font-size:18px;
}

.admin-booking-head em{
    font-style:normal;
    color:#ffd34d;
    border:1px solid rgba(255,211,77,.35);
    background:rgba(255,211,77,.12);
    border-radius:999px;
    padding:6px 8px;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}

.admin-booking-card.confirmed .admin-booking-head em{
    color:var(--green);
    border-color:rgba(68,226,139,.35);
    background:rgba(68,226,139,.12);
}

.admin-booking-card.cancelled .admin-booking-head em,
.admin-booking-card.expired .admin-booking-head em{
    color:#bbb;
    border-color:rgba(130,130,130,.3);
    background:rgba(130,130,130,.12);
}

.admin-booking-card p{
    color:var(--muted);
    font-size:15px;
    margin:0 0 10px;
}

.admin-booking-card b{
    color:var(--text);
}

.admin-booking-card a{
    color:var(--muted);
    text-decoration:none;
}

.admin-booking-values{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:12px 0;
}

.admin-booking-values span{
    background:#090507;
    border-radius:14px;
    padding:10px;
    color:var(--muted);
    text-align:center;
    font-size:14px;
}

.admin-booking-values b{
    color:var(--pink);
}

.admin-duration{
    font-size:14px!important;
}

.admin-actions-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:12px;
}

.admin-actions-row button{
    height:42px;
    border:0;
    border-radius:15px;
    font-size:13px;
    font-weight:900;
}

.admin-confirm-btn{
    background:var(--pink);
    color:#080408;
}

.admin-cancel-btn,
.admin-reactivate-btn{
    background:var(--darkBtn);
    color:var(--text);
}

.admin-photos-list{
    margin:16px 0;
}

.admin-photo-empty{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:22px;
    padding:28px 18px;
    color:var(--muted);
    text-align:center;
    font-size:16px;
    line-height:1.35;
}

.admin-photo-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:22px;
    padding:12px;
    margin-bottom:12px;
}

.admin-photo-card img{
    width:100%;
    max-height:260px;
    object-fit:cover;
    border-radius:16px;
    display:block;
    margin-bottom:10px;
}

.admin-delete-photo{
    width:100%;
    height:42px;
    border:0;
    border-radius:15px;
    background:var(--darkBtn);
    color:var(--text);
    font-weight:900;
}

@media(max-width:380px){
    .admin-stats-grid{ gap:6px; }
    .admin-stat{ padding:12px 6px; }
    .admin-money-grid{ gap:6px; }
    .admin-booking-head strong{ font-size:16px; }
}


/* v16: login admin bonito + WhatsApp visível + fotos do painel na Home */
.admin-login-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.78);
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    z-index:95;
}

.admin-login-modal.active{
    display:flex;
}

.admin-login-box{
    width:100%;
    max-width:420px;
    background:linear-gradient(145deg, #24101c 0%, #170912 72%);
    border:1px solid rgba(229,100,159,.42);
    border-radius:28px;
    padding:24px 20px 18px;
    text-align:center;
    box-shadow:0 22px 70px rgba(0,0,0,.58);
}

.admin-login-icon{
    width:64px;
    height:64px;
    border-radius:22px;
    margin:0 auto 12px;
    background:rgba(229,100,159,.18);
    border:1px solid rgba(229,100,159,.48);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--pink);
    font-size:22px;
    font-weight:900;
    letter-spacing:-1px;
}

.admin-login-box strong{
    display:block;
    color:var(--text);
    font-size:24px;
    margin-bottom:8px;
}

.admin-login-box p{
    color:var(--muted);
    font-size:15px;
    line-height:1.35;
    margin:0 0 14px;
}

.admin-login-box input{
    width:100%;
    height:52px;
    border:0;
    border-radius:18px;
    background:#fff0f6;
    color:#080408;
    padding:0 16px;
    font-size:18px;
    outline:none;
    margin-bottom:10px;
    text-align:center;
}

.admin-login-box input.wrong{
    outline:3px solid #ff4c70;
}

.admin-login-box .primary-btn,
.admin-login-box .dark-btn{
    height:48px;
    min-height:48px;
    border-radius:17px;
    font-size:15px;
    margin-top:8px;
}

.admin-whatsapp-btn{
    background:#1f9d5b;
    color:#06150b;
}

.admin-actions-row{
    grid-template-columns:1fr;
}

.admin-actions-row button{
    width:100%;
}

.works-grid img{
    border-radius:0;
}


/* v18: Trabalhos recentes pequeno + carrossel horizontal */
.works-card{
    overflow:hidden;
}

.works-grid{
    display:flex !important;
    grid-template-columns:none !important;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    padding:0 1px 6px;
}

.works-grid::-webkit-scrollbar{
    height:4px;
}

.works-grid::-webkit-scrollbar-track{
    background:#090507;
    border-radius:999px;
}

.works-grid::-webkit-scrollbar-thumb{
    background:var(--pink);
    border-radius:999px;
}

.works-grid img{
    flex:0 0 31%;
    width:auto;
    height:74px;
    object-fit:cover;
    scroll-snap-align:start;
    border-radius:0;
    border:0;
}

@media(max-width:380px){
    .works-grid img{
        flex-basis:31%;
        height:64px;
    }
}


/* v19: carrossel pequeno sem barra visível */
.works-grid{
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:0 !important;
}

.works-grid::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
}

.works-grid img{
    flex:0 0 31%;
    height:74px;
}

@media(max-width:380px){
    .works-grid img{
        flex-basis:31%;
        height:64px;
    }
}


/* v21: QR Code real do Asaas */
#pixQrImg{
    width:100%;
    max-width:150px;
    aspect-ratio:1/1;
    object-fit:contain;
    display:block;
    margin:0 auto;
    background:#fff;
}

#pixQrBox.real-qr{
    display:flex;
    align-items:center;
    justify-content:center;
}


/* v25: Tela Pix compacta moderna, sem scroll exagerado */
#pixScreen{
    padding-bottom:14px;
}

#pixScreen .pix-title{
    font-size:30px;
    text-align:center;
    margin:4px 0 5px;
    line-height:1.05;
}

#pixScreen .pix-subtitle{
    text-align:center;
    font-size:14px;
    line-height:1.25;
    margin:0 0 10px;
}

#pixScreen .pix-info-modern{
    background:linear-gradient(145deg, #1b0b15 0%, #12070e 100%);
    border:1px solid rgba(229,100,159,.42);
    border-radius:22px;
    padding:13px 15px;
    margin-bottom:10px;
}

#pixScreen .pix-detail-row{
    display:grid;
    grid-template-columns:26px 104px 1fr;
    align-items:center;
    gap:8px;
    min-height:30px;
    color:var(--text);
    font-size:15px;
}

#pixScreen .pix-detail-row:not(:last-child){
    border-bottom:1px dashed rgba(229,100,159,.20);
    padding-bottom:7px;
    margin-bottom:7px;
}

#pixScreen .pix-detail-icon{
    color:var(--pink);
    font-size:18px;
    width:24px;
    text-align:center;
}

#pixScreen .pix-detail-row strong{
    font-size:16px;
    color:var(--text);
}

#pixScreen .pix-value-row span:nth-child(2),
#pixScreen .pix-value-row strong{
    color:var(--pink);
    font-weight:900;
}

#pixScreen .pix-value-row strong{
    font-size:25px;
}

#pixScreen .pix-countdown-line strong{
    color:#ffd34d;
    font-size:19px;
}

#pixScreen .pix-payment-panel{
    background:#fff0f6;
    border-radius:24px;
    padding:12px;
    margin:0 0 10px;
    display:grid;
    grid-template-columns:132px 1fr;
    gap:12px;
    align-items:center;
}

#pixScreen .qr-card{
    background:#fff;
    border-radius:15px;
    padding:7px;
    margin:0;
    min-height:auto;
    width:132px;
    height:132px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 5px 16px rgba(0,0,0,.10);
}

#pixQrImg{
    max-width:118px !important;
    width:118px !important;
    height:118px !important;
    aspect-ratio:1/1;
    object-fit:contain;
    border-radius:6px;
    background:#fff;
}

#pixScreen .qr-fake{
    width:112px;
    height:112px;
}

#pixScreen .pix-safe-card{
    background:transparent;
    border:0;
    padding:0;
    margin:0;
    text-align:left;
    display:block;
}

#pixScreen .pix-safe-card strong{
    color:var(--pink);
    font-size:18px;
    display:block;
    margin-bottom:6px;
}

#pixScreen .pix-safe-card p{
    color:#4f3d46;
    font-size:13px;
    line-height:1.22;
    margin:0 0 10px;
}

#pixScreen .pix-copy-btn{
    height:47px;
    min-height:47px;
    margin:0;
    border-radius:15px;
    font-size:13px;
    line-height:1.05;
    padding:0 8px;
    gap:6px;
    box-shadow:0 7px 18px rgba(229,100,159,.22);
}

#pixScreen .pix-how-modern{
    margin:0 0 10px;
    padding:14px 16px;
    border:1px solid rgba(229,100,159,.18);
    border-radius:20px;
}

#pixScreen .pix-how-modern strong{
    display:block;
    margin-bottom:8px;
    font-size:17px;
}

#pixScreen .pix-how-modern p{
    margin:6px 0;
    font-size:14px;
    line-height:1.2;
    color:var(--muted);
    display:flex;
    align-items:center;
    gap:9px;
}

#pixScreen .pix-how-modern p span{
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--pink);
    color:#080408;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:900;
    flex:0 0 auto;
}

#pixScreen .pix-cancel-reserve-btn{
    height:52px;
    min-height:52px;
    border-radius:19px;
    margin:0;
    background:linear-gradient(135deg,#6f1427,#43101d);
    color:#fff;
    font-size:16px;
}

#pixScreen .pix-security-note{
    margin:8px 0 0;
    color:var(--muted);
    text-align:center;
    font-size:13px;
}

.app-toast{
    position:fixed;
    left:50%;
    bottom:22px;
    transform:translate(-50%, 20px);
    opacity:0;
    pointer-events:none;
    z-index:999;
    max-width:88vw;
    background:#171017;
    color:#fff;
    border:1px solid rgba(229,100,159,.48);
    border-radius:999px;
    padding:12px 18px;
    font-size:15px;
    font-weight:800;
    box-shadow:0 10px 30px rgba(0,0,0,.45);
    transition:opacity .18s ease, transform .18s ease;
}

.app-toast.show{
    opacity:1;
    transform:translate(-50%, 0);
}

.app-toast.error{
    border-color:#ff6060;
}

@media(max-width:380px){
    #pixScreen .pix-title{ font-size:27px; }
    #pixScreen .pix-info-modern{ padding:12px 13px; }
    #pixScreen .pix-detail-row{
        grid-template-columns:24px 94px 1fr;
        gap:7px;
        font-size:14px;
        min-height:28px;
    }
    #pixScreen .pix-detail-row strong{ font-size:15px; }
    #pixScreen .pix-value-row strong{ font-size:22px; }
    #pixScreen .pix-payment-panel{
        grid-template-columns:116px 1fr;
        gap:10px;
        padding:10px;
    }
    #pixScreen .qr-card{ width:116px; height:116px; padding:6px; }
    #pixQrImg{ width:104px !important; height:104px !important; max-width:104px !important; }
    #pixScreen .pix-copy-btn{ font-size:12px; height:44px; min-height:44px; }
    #pixScreen .pix-safe-card strong{ font-size:16px; }
    #pixScreen .pix-safe-card p{ font-size:12px; }
}
