body { font-family: Arial, sans-serif; margin:0; background:#f7f4ee; color:#333; }
header { background:#8b1e3f; color:#fff; padding:18px 30px; }
header h1 { margin:0; font-size:30px; }
nav { background:#5c1027; padding:12px 30px; }
nav a { color:#fff; text-decoration:none; margin-right:18px; font-weight:bold; }
.container { width:90%; max-width:1100px; margin:25px auto; background:#fff; padding:25px; border-radius:12px; box-shadow:0 2px 10px #0001; }
.hero { background:linear-gradient(120deg,#8b1e3f,#d29b2f); color:white; padding:50px; border-radius:14px; text-align:center; }
.hero h2 { font-size:38px; margin:0 0 12px; }
.btn { background:#8b1e3f; color:white; padding:10px 18px; border-radius:8px; text-decoration:none; border:0; cursor:pointer; display:inline-block; }
input, select, textarea { width:100%; padding:10px; margin:6px 0 15px; border:1px solid #ccc; border-radius:8px; box-sizing:border-box; }
label { font-weight:bold; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.card { border:1px solid #eee; padding:15px; border-radius:12px; background:#fffdf9; }
.card img { width:100%; height:220px; object-fit:cover; border-radius:10px; background:#eee; }
table { width:100%; border-collapse:collapse; margin-top:15px; }
th, td { border:1px solid #ddd; padding:10px; text-align:left; }
th { background:#8b1e3f; color:#fff; }
.notice { padding:12px; background:#fff4cf; border-radius:8px; margin-bottom:15px; }
footer { text-align:center; padding:25px; color:#777; }
.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin-bottom:30px;
}

.card{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.card h3{
font-size:32px;
margin:0;
color:#8b1238;
}
.chat-box{
height:450px;
overflow-y:auto;
padding:15px;
background:#f7f7f7;
border-radius:10px;
margin-bottom:20px;
}

.my-msg{
background:#8b1238;
color:#fff;
padding:10px;
margin:10px;
border-radius:10px;
text-align:right;
}

.other-msg{
background:#eee;
padding:10px;
margin:10px;
border-radius:10px;
}
.chat-box{
height:420px;
overflow-y:auto;
padding:15px;
background:#f7f7f7;
border-radius:10px;
margin-bottom:20px;
}

.my-msg{
background:#8b1238;
color:#fff;
padding:10px 14px;
margin:10px 0 10px auto;
border-radius:12px;
max-width:70%;
text-align:right;
}

.other-msg{
background:#eee;
color:#222;
padding:10px 14px;
margin:10px auto 10px 0;
border-radius:12px;
max-width:70%;
text-align:left;
}

.chat-box small{
font-size:11px;
opacity:.75;
}

textarea{
width:100%;
min-height:90px;
padding:12px;
border-radius:8px;
border:1px solid #ccc;
}
input[type=password]{
width:100%;
}
.grid > div{
display:flex;
flex-direction:column;
}

.grid input,
.grid select,
.grid textarea{
width:100%;
height:46px;
box-sizing:border-box;
padding:10px;
border:1px solid #ccc;
border-radius:6px;
font-size:15px;
}

.grid input[type=file]{
padding:8px;
}
.search-box{
background:#fff;
padding:25px;
border-radius:14px;
box-shadow:0 4px 15px rgba(0,0,0,.08);
margin-bottom:25px;
}

.search-box h2{
color:#8b1238;
margin-bottom:20px;
}

.search-box .grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
}

.search-box input,
.search-box select{
width:100%;
height:46px;
padding:10px;
border:1px solid #ccc;
border-radius:8px;
box-sizing:border-box;
}

.profile-card{
background:#fff;
padding:18px;
border-radius:14px;
box-shadow:0 4px 15px rgba(0,0,0,.08);
text-align:center;
}

.profile-card img{
width:150px;
height:180px;
object-fit:cover;
border-radius:12px;
}

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

@media(max-width:600px){
.search-box .grid{
grid-template-columns:1fr;
}
}
.side-feature{
padding:14px;
margin-bottom:12px;
border-radius:10px;
background:#fff3f6;
color:#8b1238;
font-weight:bold;
box-shadow:0 2px 8px rgba(0,0,0,.06);
}

.profile-card{
background:#fff;
padding:15px;
border-radius:14px;
box-shadow:0 4px 15px rgba(0,0,0,.08);
text-align:center;
}

.profile-card img{
width:120px;
height:145px;
object-fit:cover;
border-radius:12px;
border:2px solid #8b1238;
}

@media(max-width:900px){
    .home-layout{
        grid-template-columns:1fr !important;
    }
}
.side-feature{
background:#fff3f6;
padding:14px;
margin-bottom:10px;
border-radius:10px;
font-weight:bold;
color:#8b1238;
}

.profile-card{
background:#fff;
border-radius:12px;
padding:15px;
text-align:center;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.profile-card img{
width:120px;
height:140px;
object-fit:cover;
border-radius:10px;
margin-bottom:10px;
}

@media(max-width:900px){
.home-layout{
grid-template-columns:1fr !important;
}
}
.small-profile-row{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
gap:15px;
margin-top:20px;
}

.small-profile-card{
background:#fff;
padding:12px;
border-radius:12px;
text-align:center;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.small-profile-card img{
width:90px;
height:110px;
object-fit:cover;
border-radius:10px;
}

.small-profile-card h4{
font-size:16px;
margin:8px 0 4px;
color:#8b1238;
}

.small-profile-card p{
font-size:13px;
margin:3px 0;
}
.small-profile-row{
    display:flex;
    gap:15px;
    overflow-x:auto;
    padding:10px 0;
    scrollbar-width:thin;
}

.small-profile-card{
    min-width:150px;
    max-width:150px;
    background:#fff;
    border-radius:10px;
    padding:8px;
    text-align:center;
    box-shadow:0 2px 8px rgba(0,0,0,.10);
    flex-shrink:0;
}

.small-profile-card img{
    width:144px;
    height:192px;
    object-fit:cover;
    border-radius:8px;
    border:1px solid #ddd;
}

.small-profile-card h4{
    font-size:14px;
    margin:6px 0 2px;
    color:#8b1238;
}

.small-profile-card p{
    font-size:12px;
    margin:2px 0;
}
.small-profile-row{
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:10px 0;
}

.small-profile-card{
    width:155px;
    flex-shrink:0;
    text-align:center;
}

.small-profile-card img{
    width:144px;
    height:192px;
    object-fit:cover;
    border-radius:8px;
    border:1px solid #ccc;
}

.name{
    font-weight:bold;
    margin-top:5px;
    color:#8b1238;
}

.age{
    font-size:13px;
    color:#666;
}

.btn-small{
    display:inline-block;
    padding:5px 12px;
    margin-top:5px;
    background:#8b1238;
    color:#fff;
    border-radius:5px;
    text-decoration:none;
}
.section-title{
text-align:center;
margin:35px 0 15px;
color:#8b1238;
}

.small-profile-row{
display:flex;
gap:14px;
overflow-x:auto;
padding:12px 0 20px;
}

.small-profile-card{
width:155px;
min-width:155px;
text-align:center;
background:#fff;
border-radius:12px;
padding:10px;
box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.small-profile-card img{
width:144px !important;
height:192px !important;
object-fit:cover !important;
border-radius:8px;
}

.small-profile-card h4{
font-size:14px;
margin:6px 0 2px;
color:#8b1238;
}

.small-profile-card p{
font-size:12px;
margin:2px 0;
}

.btn-small{
display:inline-block;
background:#8b1238;
color:white;
padding:5px 12px;
border-radius:6px;
text-decoration:none;
font-size:13px;
margin-top:5px;
}
.feature-icons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
margin:20px 0 30px;
}

.feature-icon{
width:110px;
height:110px;
background:#fff;
border-radius:12px;
text-align:center;
padding:15px;
box-shadow:0 2px 8px rgba(0,0,0,.08);
font-weight:bold;
color:#8b1238;
}

.feature-icon .icon{
font-size:34px;
margin-bottom:10px;
}
.feature-icons{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:18px !important;
    flex-wrap:wrap !important;
    margin:20px 0 30px !important;
}

.feature-icon{
    width:110px !important;
    height:95px !important;
    background:#fff !important;
    border-radius:12px !important;
    text-align:center !important;
    padding:12px !important;
    box-shadow:0 2px 8px rgba(0,0,0,.08) !important;
    font-weight:bold !important;
    color:#8b1238 !important;
}

.feature-icon .icon{
    font-size:30px !important;
    margin-bottom:6px !important;
}
.quick-register{
display:flex;
gap:10px;
justify-content:center;
flex-wrap:wrap;
margin-top:25px;
}

.quick-register input,
.quick-register select{
width:180px;
padding:10px;
border:1px solid #ccc;
border-radius:6px;
}
.success-box{
background:#d4edda;
color:#155724;
padding:15px;
margin-bottom:20px;
border-radius:10px;
border:1px solid #c3e6cb;
font-weight:bold;
text-align:center;
}
form .btn{
    width:auto !important;
    min-width:140px;
    height:auto !important;
    padding:10px 22px !important;
    font-size:15px !important;
    display:inline-block !important;
}

button.btn{
    width:auto !important;
}
.success-box{
background:#d4edda;
color:#155724;
padding:15px;
margin-bottom:20px;
border-radius:10px;
border:1px solid #c3e6cb;
font-weight:bold;
text-align:center;
}
.profile-layout{
display:grid;
grid-template-columns:1fr 350px;
gap:25px;
}
.chat-widget{
position:sticky;
top:20px;
height:650px;
background:#fff;
border-radius:15px;
box-shadow:0 4px 15px rgba(0,0,0,.15);
overflow:hidden;
}
.profile-card.premium{
border:3px solid gold;
}
.profile-layout{
display:grid;
grid-template-columns:1fr 320px;
gap:25px;
align-items:start;
}

.profile-main{
background:#fff;
padding:25px;
border-radius:15px;
box-shadow:0 2px 12px rgba(0,0,0,.10);
}

.chat-sidebar{
position:sticky;
top:20px;
background:#fff;
padding:20px;
border-radius:15px;
box-shadow:0 2px 12px rgba(0,0,0,.10);
min-height:250px;
}

@media(max-width:900px){
.profile-layout{
grid-template-columns:1fr;
}
}
.profile-header{
margin-bottom:20px;
padding-bottom:15px;
border-bottom:1px solid #eee;
}

.premium-badge{
background:gold;
padding:5px 10px;
border-radius:20px;
font-size:13px;
margin-left:10px;
}
.dashboard-cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin:25px 0;
}

.dash-card{
background:#fff;
padding:25px;
border-radius:15px;
text-align:center;
box-shadow:0 3px 12px rgba(0,0,0,.10);
}

.dash-card .icon{
font-size:42px;
margin-bottom:10px;
}

.dash-card h3{
font-size:28px;
margin:0;
color:#8b1238;
}

.dashboard-actions{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:15px;
margin-top:25px;
}

.action-btn{
display:block;
padding:18px;
background:#8b1238;
color:#fff;
text-decoration:none;
border-radius:12px;
text-align:center;
font-weight:bold;
}
.dashboard-cards{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:20px !important;
    margin:25px 0 !important;
}

.dash-card{
    background:#fff !important;
    padding:25px !important;
    border-radius:15px !important;
    text-align:center !important;
    box-shadow:0 3px 12px rgba(0,0,0,.10) !important;
}

.dash-card .icon{
    font-size:38px !important;
    margin-bottom:8px !important;
}

.dash-card h3{
    font-size:28px !important;
    margin:0 !important;
    color:#8b1238 !important;
}

@media(max-width:900px){
    .dashboard-cards{
        grid-template-columns:repeat(2,1fr) !important;
    }
}
.dash-card{
    text-decoration:none;
    color:#333;
    transition:all .3s ease;
}

.dash-card:hover{
    transform:translateY(-5px);
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.dash-card:hover h3{
    color:#8b1238;
}
.premium-status{
    margin-top:10px;
    font-size:14px;
    font-weight:bold;
}
.profile-layout{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:25px;
    align-items:start;
}

.profile-main{
    background:#fff;
    padding:25px;
    border-radius:18px;
    box-shadow:0 3px 15px rgba(0,0,0,.10);
}

.profile-top-card{
    display:flex;
    gap:25px;
    align-items:center;
    padding:25px;
    border-radius:18px;
    background:linear-gradient(135deg,#8b1238,#d89b28);
    color:#fff;
    margin-bottom:25px;
}

.profile-photo-box img{
    width:220px;
    height:270px;
    object-fit:cover;
    border-radius:16px;
    border:4px solid #fff;
    box-shadow:0 4px 18px rgba(0,0,0,.25);
}

.no-photo{
    width:220px;
    height:270px;
    background:#eee;
    color:#777;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.profile-summary h2{
    margin:0 0 8px;
    font-size:34px;
}

.member-id{
    background:rgba(255,255,255,.18);
    display:inline-block;
    padding:6px 12px;
    border-radius:20px;
    font-weight:bold;
}

.premium-badge{
    background:gold;
    color:#222;
    padding:5px 12px;
    border-radius:20px;
    font-size:14px;
}

.profile-actions{
    margin-top:18px;
}

.profile-info-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:15px;
    margin-bottom:25px;
}

.info-card{
    background:#fff7f9;
    border-left:4px solid #8b1238;
    padding:15px;
    border-radius:12px;
}

.info-card b{
    display:block;
    color:#8b1238;
    margin-bottom:6px;
}

.info-card span{
    color:#333;
}

.profile-section{
    background:#fff;
    border:1px solid #eee;
    padding:20px;
    border-radius:15px;
    margin-bottom:20px;
}

.profile-section h3{
    color:#8b1238;
    margin-top:0;
}

.photo-gallery{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.photo-gallery img{
    width:160px;
    height:200px;
    object-fit:cover;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.12);
}

.chat-sidebar{
    position:sticky;
    top:20px;
    background:#fff;
    padding:22px;
    border-radius:18px;
    box-shadow:0 3px 15px rgba(0,0,0,.12);
}

.chat-sidebar h3{
    color:#8b1238;
    margin-top:0;
}

.chat-note{
    margin-top:18px;
    background:#fff7f9;
    padding:12px;
    border-radius:10px;
    color:#555;
}

.whatsapp-btn{
    display:inline-block;
    background:#25D366;
    color:#fff;
    padding:10px 18px;
    text-decoration:none;
    border-radius:8px;
    font-weight:bold;
    margin-right:10px;
}

@media(max-width:900px){
    .profile-layout{
        grid-template-columns:1fr;
    }

    .profile-top-card{
        flex-direction:column;
        text-align:center;
    }

    .chat-sidebar{
        position:static;
    }
}
.chat-page{
    max-width:850px;
    margin:30px auto;
    background:#fff;
    border-radius:20px;
    box-shadow:0 5px 25px rgba(0,0,0,.12);
    overflow:hidden;
}

.chat-header{
    background:linear-gradient(135deg,#8b1238,#d89b28);
    color:#fff;
    padding:18px;
    display:flex;
    align-items:center;
    gap:15px;
}

.chat-header img{
    width:65px;
    height:75px;
    object-fit:cover;
    border-radius:12px;
    border:2px solid #fff;
}

.chat-no-photo{
    width:65px;
    height:75px;
    background:rgba(255,255,255,.25);
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.chat-header h2{
    margin:0;
    font-size:24px;
}

.chat-header p{
    margin:4px 0 0;
    opacity:.9;
}

.chat-profile-link{
    margin-left:auto;
    background:#fff;
    color:#8b1238;
    padding:8px 14px;
    border-radius:20px;
    text-decoration:none;
    font-weight:bold;
}

.chat-box-modern{
    height:480px;
    overflow-y:auto;
    background:#f5f1f3;
    padding:20px;
}

.empty-chat{
    text-align:center;
    color:#777;
    margin-top:150px;
    line-height:1.8;
}

.msg-row{
    display:flex;
    margin-bottom:12px;
}

.mine-row{
    justify-content:flex-end;
}

.other-row{
    justify-content:flex-start;
}

.msg-bubble{
    max-width:70%;
    padding:12px 14px;
    border-radius:16px;
    line-height:1.5;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    word-wrap:break-word;
}

.msg-bubble.mine{
    background:#8b1238;
    color:#fff;
    border-bottom-right-radius:4px;
}

.msg-bubble.other{
    background:#fff;
    color:#333;
    border-bottom-left-radius:4px;
}

.msg-time{
    font-size:11px;
    opacity:.75;
    margin-top:6px;
    text-align:right;
}

.chat-form{
    display:flex;
    gap:10px;
    padding:15px;
    background:#fff;
    border-top:1px solid #eee;
}

.chat-form textarea{
    flex:1;
    min-height:48px;
    max-height:120px;
    resize:vertical;
    border:1px solid #ddd;
    border-radius:25px;
    padding:13px 16px;
    font-size:15px;
    outline:none;
}

.chat-form textarea:focus{
    border-color:#8b1238;
}

.chat-form button{
    width:52px;
    height:52px;
    border:0;
    border-radius:50%;
    background:#8b1238;
    color:#fff;
    font-size:22px;
    cursor:pointer;
}

.chat-form button:hover{
    background:#6f0f2d;
}

.chat-footer-actions{
    padding:12px 15px;
    background:#fafafa;
    text-align:center;
}

.chat-footer-actions a{
    display:inline-block;
    margin:0 8px;
    color:#8b1238;
    font-weight:bold;
    text-decoration:none;
}

@media(max-width:700px){
    .chat-page{
        margin:10px;
    }

    .chat-box-modern{
        height:420px;
    }

    .msg-bubble{
        max-width:85%;
    }
}
.profile-layout{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 320px !important;
    gap:25px !important;
    width:100% !important;
}

.profile-main{
    width:100% !important;
    max-width:none !important;
}

.profile-top-card{
    width:100% !important;
}

.profile-info-grid{
    grid-template-columns:repeat(3,1fr) !important;
}

@media(max-width:1000px){
    .profile-layout{
        grid-template-columns:1fr !important;
    }
}
.container{
    max-width:1200px !important;
}
.container{
    max-width:1200px !important;
}

.profile-layout{
    display:grid !important;
    grid-template-columns:1fr 300px !important;
    gap:25px !important;
    align-items:start !important;
}

.profile-main{
    width:100% !important;
}

@media(max-width:1000px){
    .profile-layout{
        grid-template-columns:1fr !important;
    }
}
.click-photo{
    position:relative;
    display:inline-block;
    cursor:pointer;
}

.click-photo span{
    position:absolute;
    left:0;
    right:0;
    bottom:8px;
    background:rgba(0,0,0,.65);
    color:#fff;
    font-size:13px;
    padding:6px;
    text-align:center;
    border-radius:0 0 12px 12px;
}

.click-photo.small img{
    width:160px;
    height:200px;
    object-fit:cover;
    border-radius:12px;
}

.photo-modal{
    display:none;
    position:fixed;
    z-index:9999;
    inset:0;
    background:rgba(0,0,0,.85);
    align-items:center;
    justify-content:center;
}

.photo-modal img{
    max-width:90%;
    max-height:90%;
    border-radius:15px;
    box-shadow:0 0 25px rgba(255,255,255,.25);
}

.close-photo{
    position:absolute;
    top:25px;
    right:35px;
    font-size:45px;
    color:white;
    cursor:pointer;
}
.inbox-page{
    max-width:850px;
    margin:30px auto;
}

.inbox-title{
    background:linear-gradient(135deg,#8b1238,#d89b28);
    color:white;
    padding:25px;
    border-radius:18px;
    margin-bottom:20px;
    box-shadow:0 4px 15px rgba(0,0,0,.12);
}

.inbox-title h2{
    margin:0 0 6px;
}

.inbox-title p{
    margin:0;
    opacity:.9;
}

.conversation-list{
    background:#fff;
    border-radius:18px;
    box-shadow:0 4px 18px rgba(0,0,0,.10);
    overflow:hidden;
}

.conversation-card{
    display:flex;
    align-items:center;
    gap:15px;
    padding:15px;
    text-decoration:none;
    color:#333;
    border-bottom:1px solid #eee;
    position:relative;
    transition:.2s;
}

.conversation-card:hover{
    background:#fff7f9;
}

.conv-photo img,
.conv-no-photo{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #8b1238;
}

.conv-no-photo{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eee;
    font-size:28px;
}

.conv-body{
    flex:1;
    min-width:0;
}

.conv-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.conv-top h3{
    margin:0;
    color:#8b1238;
    font-size:18px;
}

.conv-top span{
    font-size:12px;
    color:#777;
    white-space:nowrap;
}

.member-id{
    margin:3px 0;
    font-size:13px;
    color:#777;
}

.last-message{
    margin:0;
    color:#555;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.unread-badge{
    background:#25D366;
    color:white;
    width:26px;
    height:26px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:bold;
}

.empty-inbox{
    background:#fff;
    padding:35px;
    border-radius:15px;
    text-align:center;
    color:#777;
    box-shadow:0 3px 12px rgba(0,0,0,.08);
}
.embedded-chat{
    background:#fff;
    border-radius:15px;
    padding:15px;
}

.chat-messages{
    height:350px;
    overflow-y:auto;
    background:#f7f7f7;
    padding:10px;
    border-radius:10px;
    margin-bottom:10px;
}

.my-msg{
    background:#dcf8c6;
    padding:10px;
    border-radius:12px;
    margin-bottom:8px;
    margin-left:40px;
}

.other-msg{
    background:#fff;
    padding:10px;
    border-radius:12px;
    margin-bottom:8px;
    margin-right:40px;
}.pv-chat-box{
    margin-top:15px;
    background:#fff;
    border-radius:15px;
    overflow:hidden;
    border:1px solid #eee;
}

.pv-chat-messages{
    height:360px;
    overflow-y:auto;
    background:#f5f1f3;
    padding:12px;
}

.pv-msg-row{
    display:flex;
    margin-bottom:10px;
}

.mine-row{
    justify-content:flex-end;
}

.other-row{
    justify-content:flex-start;
}

.pv-msg{
    max-width:80%;
    padding:10px 12px;
    border-radius:15px;
    line-height:1.5;
    font-size:14px;
    box-shadow:0 1px 5px rgba(0,0,0,.08);
}

.pv-msg.mine{
    background:#8b1238;
    color:#fff;
    border-bottom-right-radius:4px;
}

.pv-msg.other{
    background:#fff;
    color:#333;
    border-bottom-left-radius:4px;
}

.pv-msg-time{
    font-size:10px;
    opacity:.75;
    margin-top:5px;
    text-align:right;
}

.pv-chat-form{
    display:flex;
    gap:8px;
    padding:10px;
    background:#fff;
    border-top:1px solid #eee;
}

.pv-chat-form textarea{
    flex:1;
    height:45px;
    resize:none;
    border:1px solid #ddd;
    border-radius:20px;
    padding:10px 12px;
    outline:none;
}

.pv-chat-form button{
    width:45px;
    height:45px;
    border-radius:50%;
    border:0;
    background:#8b1238;
    color:#fff;
    font-size:20px;
    cursor:pointer;
}

.pv-empty{
    text-align:center;
    color:#777;
    padding-top:140px;
}
.wa-wrap{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:20px;
    min-height:650px;
}

.wa-sidebar,
.wa-chat{
    background:#fff;
    border-radius:18px;
    box-shadow:0 4px 18px rgba(0,0,0,.10);
    overflow:hidden;
}

.wa-sidebar-title{
    background:linear-gradient(135deg,#8b1238,#d89b28);
    color:white;
    padding:20px;
}

.wa-sidebar-title h2{
    margin:0;
}

.wa-sidebar-title p{
    margin:5px 0 0;
}

.wa-user{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    border-bottom:1px solid #eee;
    text-decoration:none;
    color:#333;
    position:relative;
}

.wa-user:hover,
.wa-user.active{
    background:#fff7f9;
}

.wa-avatar img,
.wa-avatar span{
    width:58px;
    height:58px;
    border-radius:50%;
    object-fit:cover;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eee;
    border:2px solid #8b1238;
    font-size:26px;
}

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

.wa-user-top{
    display:flex;
    justify-content:space-between;
    gap:8px;
}

.wa-user-top h3{
    margin:0;
    color:#8b1238;
    font-size:17px;
}

.wa-user-top small{
    font-size:11px;
    color:#777;
    white-space:nowrap;
}

.wa-member{
    margin:3px 0;
    font-size:12px;
    color:#777;
}

.wa-last{
    margin:0;
    color:#555;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.wa-badge{
    background:#25D366;
    color:#fff;
    min-width:24px;
    height:24px;
    border-radius:50%;
    font-size:12px;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
}

.wa-chat{
    display:flex;
    flex-direction:column;
}

.wa-chat-header{
    background:#8b1238;
    color:#fff;
    padding:15px;
    display:flex;
    align-items:center;
    gap:12px;
}

.wa-chat-header h3{
    margin:0;
}

.wa-chat-header p{
    margin:4px 0 0;
    font-size:13px;
}

.online{
    margin-left:10px;
    color:#9cff9c;
}

.offline{
    margin-left:10px;
    color:#ddd;
}

.wa-profile-btn{
    margin-left:auto;
    background:#fff;
    color:#8b1238;
    padding:8px 14px;
    border-radius:20px;
    text-decoration:none;
    font-weight:bold;
}

.wa-messages{
    flex:1;
    height:520px;
    overflow-y:auto;
    background:#f5f1f3;
    padding:18px;
}

.wa-msg-row{
    display:flex;
    margin-bottom:12px;
}

.wa-msg-row.mine-row{
    justify-content:flex-end;
}

.wa-msg-row.other-row{
    justify-content:flex-start;
}

.wa-msg{
    max-width:70%;
    padding:11px 14px;
    border-radius:16px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    line-height:1.5;
}

.wa-msg.mine{
    background:#8b1238;
    color:#fff;
    border-bottom-right-radius:4px;
}

.wa-msg.other{
    background:#fff;
    color:#333;
    border-bottom-left-radius:4px;
}

.wa-time{
    font-size:10px;
    opacity:.75;
    margin-top:5px;
    text-align:right;
}

.wa-send{
    display:flex;
    gap:10px;
    padding:14px;
    background:#fff;
    border-top:1px solid #eee;
}

.wa-send textarea{
    flex:1;
    height:48px;
    resize:none;
    border:1px solid #ddd;
    border-radius:24px;
    padding:12px;
    outline:none;
}

.wa-send button{
    width:50px;
    height:50px;
    border-radius:50%;
    border:0;
    background:#8b1238;
    color:#fff;
    font-size:22px;
    cursor:pointer;
}

.wa-no-chat,
.wa-empty,
.wa-no-message{
    text-align:center;
    padding:40px;
    color:#777;
}

.wa-premium-lock{
    padding:18px;
    text-align:center;
    background:#fff8e1;
    border-top:1px solid #eee;
}

@media(max-width:900px){
    .wa-wrap{
        grid-template-columns:1fr;
    }
}
.notification-bar{
display:flex;
gap:15px;
flex-wrap:wrap;
margin:20px 0;
}

.notification-bar a{
background:#fff;
padding:15px 20px;
border-radius:12px;
box-shadow:0 2px 10px rgba(0,0,0,.08);
text-decoration:none;
color:#8b1238;
font-weight:bold;
}

.notification-bar span{
background:#8b1238;
color:white;
padding:4px 9px;
border-radius:20px;
margin-left:8px;
}
.notification-bar{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin:20px 0;
}

.notification-bar a{
    background:#fff;
    padding:15px 20px;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    text-decoration:none;
    color:#8b1238;
    font-weight:bold;
}

.notification-bar span{
    background:#8b1238;
    color:white;
    padding:4px 9px;
    border-radius:20px;
    margin-left:8px;
}
.grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:20px;
}

.grid .card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:520px;
    text-align:center;
}

.grid .card img{
    width:150px;
    height:180px;
    object-fit:cover;
    border-radius:10px;
    margin:auto;
}

.grid .card .btn{
    margin-top:auto;
}
.profile-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.profile-card-content{
    flex:1;
}

.profile-card .btn{
    margin-top:auto;
}
/* Profile Cards */

.grid .card h3{
    font-size:26px;
    line-height:1.2;
    margin:10px 0;
    color:#8b1238;
}

.grid .card p{
    font-size:15px;
    line-height:1.5;
    margin:6px 0;
}

.grid .card{
    font-size:15px;
}

.grid .card .btn{
    font-size:14px;
    padding:10px 18px;
}
.grid .card h3{
    font-size:22px;
}

.grid .card p{
    font-size:14px;
}

.grid .card .btn{
    font-size:13px;
}
.premium-badge,
.premium-label{
    font-size:13px;
    padding:4px 10px;
}
.premium-mini-box{
    background:#fff8e1;
    border-left:4px solid #d4af37;
    padding:10px 14px;
    border-radius:10px;
    margin:15px 0;
    font-size:13px;
    font-weight:bold;
    color:#8b1238;
    text-align:center;
}
.grid .card h3{
    font-size:18px !important;
    line-height:1.2 !important;
    margin:8px 0 !important;
}

.grid .card p{
    font-size:12px !important;
    line-height:1.4 !important;
    margin:4px 0 !important;
}

.grid .card{
    min-height:420px !important;
    padding:14px !important;
}

.grid .card img{
    width:120px !important;
    height:150px !important;
    object-fit:cover !important;
}

.grid .card .btn{
    font-size:12px !important;
    padding:8px 14px !important;
}
/* Profile Cards Compact View */

.grid{
    gap:15px !important;
}

.grid .card{
    min-height:320px !important;
    padding:12px !important;
    overflow:hidden;
}

.grid .card img{
    width:110px !important;
    height:135px !important;
    object-fit:cover;
    border-radius:8px;
    margin-bottom:8px;
}

.grid .card h3{
    font-size:16px !important;
    margin:5px 0 !important;
    line-height:1.2;
}

.grid .card p{
    font-size:11px !important;
    margin:3px 0 !important;
    line-height:1.3;
}

.grid .card .btn{
    font-size:11px !important;
    padding:7px 12px !important;
    margin-top:6px;
}

.grid .card span{
    font-size:11px !important;
}
.grid .card{
    min-height:280px !important;
}
.premium-badge{
    font-size:10px !important;
    padding:2px 8px !important;
    border-radius:20px;
}
.grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:15px;
}

.grid .card{
    height:auto !important;
    min-height:260px !important;
    max-height:none !important;

    padding:10px !important;
}

.grid .card img{
    width:100px !important;
    height:120px !important;
    margin-bottom:6px !important;
}

.grid .card h3{
    font-size:15px !important;
    margin:4px 0 !important;
}

.grid .card p{
    font-size:11px !important;
    margin:2px 0 !important;
}

.grid .card .btn{
    padding:6px 12px !important;
    font-size:11px !important;
}
.compact-profile-grid{
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr)) !important;
    gap:12px !important;
}

.compact-profile-card{
    min-height:260px !important;
    height:auto !important;
    padding:10px !important;
    text-align:center !important;
}

.compact-profile-img{
    width:90px !important;
    height:110px !important;
    object-fit:cover !important;
    border-radius:8px !important;
}

.compact-profile-card h3{
    font-size:15px !important;
    margin:5px 0 !important;
}

.compact-profile-card p{
    font-size:11px !important;
    margin:3px 0 !important;
}

.compact-profile-card .btn{
    font-size:11px !important;
    padding:6px 10px !important;
}
.member-id{
    display:inline-block;
    background:#ffffff;
    color:#8b1238;
    font-size:18px;
    font-weight:700;
    padding:8px 16px;
    border-radius:25px;
    margin:12px 0;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    border:2px solid rgba(139,18,56,.2);
    letter-spacing:1px;
}
.member-id{
    background:#8b1238;
    color:#fff;
    font-size:20px;
    font-weight:bold;
    padding:10px 18px;
    border-radius:30px;
}
.profile-layout{
    display:grid;
    grid-template-columns: 2fr 420px;
    gap:20px;
}
.chat-time{
    font-size:11px;
    color:#999;
    display:block;
    margin-top:5px;
}
.online-badge{
    color:#28a745;
    font-weight:bold;
    font-size:13px;
}

.offline-badge{
    color:#999;
    font-size:13px;
}
.my-message{
    background:#8b1238;
    color:#fff;
    border-radius:18px 18px 4px 18px;
}

.other-message{
    background:#fff;
    border-radius:18px 18px 18px 4px;
}
/* Profile Page Chat Panel Improvements */

.profile-layout{
    display:grid !important;
    grid-template-columns:2fr 420px !important;
    gap:20px !important;
    align-items:start !important;
}

.chat-sidebar{
    width:100% !important;
    min-width:380px !important;
}

.pv-chat-messages{
    height:430px !important;
}

.pv-msg{
    font-size:13px !important;
    line-height:1.45 !important;
}

.pv-msg-time{
    font-size:10px !important;
    opacity:.75 !important;
    margin-top:4px !important;
}

.pv-chat-form textarea{
    font-size:13px !important;
}

.online-badge{
    color:#28a745;
    font-weight:bold;
    font-size:13px;
}

.offline-badge{
    color:#999;
    font-size:13px;
}

@media(max-width:1000px){
    .profile-layout{
        grid-template-columns:1fr !important;
    }

    .chat-sidebar{
        min-width:0 !important;
    }
}
.typing-indicator{
    font-size:12px;
    color:#777;
    background:#fff;
    padding:6px 12px;
    border-radius:15px;
    margin:5px 0 8px;
    font-style:italic;
}

.typing-indicator::after{
    content:"";
    animation:dots 1.2s infinite;
}

@keyframes dots{
    0%{content:"";}
    33%{content:".";}
    66%{content:"..";}
    100%{content:"...";}
}
.menu-badge{
    background:#ff1744;
    color:#fff;
    padding:2px 7px;
    border-radius:50px;
    font-size:11px;
    font-weight:bold;
    margin-left:4px;
}.recent-chat{
    display:flex;
    align-items:center;
    gap:12px;

    padding:10px 12px;
    min-height:70px;

    border-bottom:1px solid #eee;
}

.recent-chat img{
    width:50px;
    height:50px;
    object-fit:cover;
    border-radius:50%;
}

.recent-chat-info{
    flex:1;
}

.recent-chat-info b{
    color:#8b1238;
}

.recent-chat-info p{
    margin:3px 0 0;
    color:#666;
    font-size:13px;
}
.recent-chat{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
    border-bottom:1px solid #eee;
}

.recent-chat img{
    width:50px;
    height:50px;
    object-fit:cover;
    border-radius:50%;
}

.recent-chat-info{
    flex:1;
}

.recent-chat-info b{
    color:#8b1238;
}

.recent-chat-info p{
    margin:3px 0 0;
    color:#666;
    font-size:13px;
}
.menu-badge{
    background:#ff1744;
    color:#fff;
    padding:2px 7px;
    border-radius:50px;
    font-size:11px;
    font-weight:bold;
    margin-left:5px;
}
.online-user{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px;
    border-bottom:1px solid #eee;
}

.online-user img{
    width:45px;
    height:45px;
    border-radius:50%;
    object-fit:cover;
}

.online-user:last-child{
    border-bottom:none;
}
.seen-status{
    font-size:11px;
    margin-top:4px;
    opacity:.8;
}

.mine .seen-status{
    color:#e0e0e0;
}

.other .seen-status{
    display:none;
}
.online-dot{
    width:10px;
    height:10px;
    background:#00c853;
    border-radius:50%;
    display:inline-block;
    margin-right:5px;
}
.online-dot{
    width:10px;
    height:10px;
    background:#00c853;
    border-radius:50%;
    display:inline-block;
    margin-right:5px;
}

.online-text{
    color:#00a152;
    font-size:13px;
    font-weight:600;
}

.offline-text{
    color:#888;
    font-size:13px;
}.dashboard-two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:25px;
}

.round-placeholder{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#eee;
    display:flex;
    align-items:center;
    justify-content:center;
}

.online-dot{
    width:10px;
    height:10px;
    background:#00c853;
    border-radius:50%;
    display:inline-block;
}

@media(max-width:900px){
    .dashboard-two-col{
        grid-template-columns:1fr;
    }
}.floating-chat{
position:fixed;
bottom:20px;
right:20px;
z-index:9999;
}

.floating-chat a{
width:60px;
height:60px;
background:#8b1238;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:28px;
text-decoration:none;
box-shadow:0 4px 15px rgba(0,0,0,.2);
position:relative;
}

#chatNotify{
position:absolute;
top:-5px;
right:-5px;
background:red;
color:white;
font-size:12px;
padding:4px 8px;
border-radius:50%;
}
.online-text{
    color:#00a152;
    font-size:13px;
    font-weight:600;
}

.offline-text{
    color:#777;
    font-size:12px;
}
.seen-sent{
    color:#ccc;
    margin-left:5px;
    font-weight:bold;
}

.seen-read{
    color:#4fc3f7;
    margin-left:5px;
    font-weight:bold;
}
.chat-premium{
    color:#d4af37;
    font-size:14px;
}
.chat-search{
width:100%;
padding:10px;
border:1px solid #ddd;
border-radius:8px;
margin-bottom:10px;
}
.seen-sent{
    color:#ccc;
    margin-left:5px;
    font-weight:bold;
}

.seen-read{
    color:#4fc3f7;
    margin-left:5px;
    font-weight:bold;
}
.wa-msg-row{
    width:100%;
    display:flex;
    margin-bottom:10px;
}

.mine-row{
    justify-content:flex-end;
}

.other-row{
    justify-content:flex-start;
}

.wa-msg{
    max-width:70%;
    padding:10px 14px;
    border-radius:14px;
    word-wrap:break-word;
}

.wa-msg.mine{
    background:#8b1238;
    color:white;
}

.wa-msg.other{
    background:white;
    color:#333;
    border:1px solid #eee;
}

.wa-time{
    font-size:11px;
    margin-top:5px;
    text-align:right;
    opacity:.85;
}

.seen-read{
    color:#4fc3f7;
    margin-left:5px;
    font-weight:bold;
}

.seen-sent{
    color:#ccc;
    margin-left:5px;
    font-weight:bold;
}
.typing-indicator{
    height:22px;
    min-height:22px;
    line-height:22px;
    padding:0 15px;
    color:#00a152;
    font-size:13px;
    background:#fff;
}
.typing-indicator{
    height:22px;
    padding:4px 15px;
    color:#00a152;
    font-size:13px;
    font-style:italic;
}
.typing-indicator{
    height:24px;
    line-height:24px;
    padding:0 15px;
    color:#00a152;
    font-size:13px;
    font-style:italic;
    background:#fff;
}
.chat-image{
    max-width:220px;
    max-height:250px;
    border-radius:12px;
    display:block;
    margin-bottom:6px;
    cursor:pointer;
}
.wa-send{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
}

#chat_image{
    width:130px;
    min-width:130px;
    font-size:12px;
}

#chat_message{
    flex:1;
    height:60px;
    resize:none;
}

.wa-send button{
    width:55px;
    height:55px;
    border-radius:50%;
}
.photo-btn{
    font-size:28px;
    cursor:pointer;
    padding:8px;
}
.chat-image{
    max-width:220px;
    max-height:250px;
    border-radius:12px;
    display:block;
    margin-bottom:6px;
    cursor:pointer;
}
.image-viewer{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);
    z-index:999999;
    justify-content:center;
    align-items:center;
}

.image-viewer.show{
    display:flex;
}

.image-viewer img{
    max-width:90vw;
    max-height:90vh;
    border-radius:10px;
}

.image-close{
    position:absolute;
    top:20px;
    right:30px;
    font-size:35px;
    color:white;
    cursor:pointer;
}
.delete-msg{
    cursor:pointer;
    font-size:13px;
    margin-right:8px;
    opacity:.7;
}

.delete-msg:hover{
    opacity:1;
}
.msg-reaction-picker{
    margin-top:4px;
    font-size:16px;
}

.msg-reaction-picker span{
    cursor:pointer;
    margin-right:4px;
}

.msg-reaction{
    margin-top:4px;
    font-size:18px;
}
.msg-reaction-picker{
    display:none;
}
.wa-msg:hover .msg-reaction-picker{
    display:block;
}
.delete-msg{
    display:none;
}

.wa-msg:hover .delete-msg{
    display:inline;
}
.msg-reaction-picker{
    display:none;
}

.msg-reaction-picker.show{
    display:block;
}
.msg-reaction-picker{
    display:none;
}

.msg-reaction-picker.show{
    display:block;
}

.reaction-btn{
    cursor:pointer;
    font-size:18px;
}
.emoji-btn{
    border:none;
    background:#fff;
    font-size:24px;
    cursor:pointer;
}

.emoji-box{
    display:none;
    position:absolute;
    background:#fff;
    padding:10px;
    border-radius:10px;
    box-shadow:0 0 10px rgba(0,0,0,.2);
    z-index:9999;
}

.emoji-box.show{
    display:flex;
    gap:8px;
}
.emoji-wrapper{
    position:relative;
    display:inline-block;
}

.emoji-box{
    display:none;
    position:absolute;
    bottom:55px;
    left:0;
    background:#fff;
    padding:8px 10px;
    border-radius:12px;
    box-shadow:0 4px 15px rgba(0,0,0,.2);
    z-index:9999;
    white-space:nowrap;
}

.emoji-box.show{
    display:flex;
    gap:8px;
}

.emoji-box span{
    cursor:pointer;
    font-size:22px;
}

.emoji-btn{
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    font-size:24px;
}
.chat-file a{
    display:inline-block;
    padding:8px 12px;
    background:#f2f2f2;
    border-radius:8px;
    text-decoration:none;
}
.file-btn{
    cursor:pointer;
    font-size:24px;
    padding:8px;
}
.wa-send{
    display:flex;
    align-items:center;
    gap:10px;
}

.wa-send textarea{
    flex:1;
}
@media (max-width: 600px){

    .wa-send{
        display:flex;
        align-items:center;
        gap:6px;
        padding:8px;
        width:100%;
    }

    .wa-send textarea{
        flex:1;
        min-width:0;
        width:100%;
        height:52px;
        font-size:14px;
        padding:10px;
        resize:none;
    }

    .photo-btn,
    .file-btn,
    .emoji-btn{
        width:20px;
        min-width:20px;
        height:20px;
        font-size:22px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0;
    }

    .wa-send button[type="submit"]{
        width:46px;
        min-width:46px;
        height:46px;
        font-size:22px;
    }
}
.emoji-btn{
    background:none;
    border:none;
    font-size:28px;
    padding:0 5px;
    cursor:pointer;
    width:auto;
    height:auto;
}
.emoji-btn{
    background:transparent;
    border:none;
    box-shadow:none;
    font-size:26px;
    cursor:pointer;
    padding:0;
    margin:0;
    width:32px;
    height:32px;
}
.emoji-btn:hover,
.emoji-btn:focus{
    background:transparent;
    outline:none;
}
.wa-send .emoji-btn{
    background:transparent !important;
    background-color:transparent !important;
    color:inherit !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    width:32px !important;
    min-width:32px !important;
    height:32px !important;
    padding:0 !important;
    margin:0 !important;
    font-size:24px !important;
}

.wa-send .emoji-btn:hover,
.wa-send .emoji-btn:focus{
    background:transparent !important;
    background-color:transparent !important;
    outline:none !important;
}
.deleted-msg{
    background:#eee !important;
    color:#666;
    font-style:italic;
    padding:10px 15px;
}
.delete-popup{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.4);
    z-index:999999;
    align-items:center;
    justify-content:center;
}

.delete-popup.show{
    display:flex;
}

.delete-popup-box{
    background:#fff;
    border-radius:14px;
    padding:12px;
    width:260px;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
}

.delete-popup-box button{
    width:100%;
    display:block;
    border:none;
    background:#fff;
    padding:12px;
    text-align:left;
    font-size:15px;
    cursor:pointer;
}

.delete-popup-box button:hover{
    background:#f2f2f2;
}
.live-badge{
    display:none;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:20px;
    background:red;
    color:#fff;
    font-size:12px;
    font-weight:bold;
    align-items:center;
    justify-content:center;
    margin-left:5px;
}
.mic-btn{
    background:#8b0d3d;
    color:#fff;
    border:none;
    width:42px;
    height:42px;
    border-radius:50%;
    cursor:pointer;
    font-size:20px;
}

.mic-btn.recording{
    background:red;
    animation:pulse 1s infinite;
}

@keyframes pulse{
    0%{opacity:1;}
    50%{opacity:.5;}
    100%{opacity:1;}
}
.chat-voice{
    margin:6px 0;
}

.chat-voice audio{
    width:220px;
    max-width:100%;
}
.record-timer{
    font-size:13px;
    color:red;
    font-weight:bold;
    white-space:nowrap;
}
.wa-send .mic-btn{
    background:transparent !important;
    background-color:transparent !important;
    border:none !important;
    box-shadow:none !important;
    border-radius:0 !important;

    width:32px !important;
    min-width:32px !important;
    height:32px !important;

    padding:0 !important;
    margin:0 !important;

    font-size:24px !important;
    cursor:pointer;
}

.wa-send .mic-btn:hover,
.wa-send .mic-btn:focus{
    background:transparent !important;
    background-color:transparent !important;
    outline:none !important;
}
.wa-send .mic-btn.recording{
    color:red !important;
}
.cancel-record{
    color:red;
    cursor:pointer;
    font-size:13px;
    font-weight:bold;
    margin-left:5px;
}
.seen-time{
    font-size:11px;
    color:#777;
    margin-left:4px;
}
.seen-time{
    font-size:11px;
    color:#777;
    margin-left:4px;
}
.reply-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px;
    background:#f3f3f3;
    border-left:4px solid #8b0d3d;
    margin-bottom:5px;
}

.reply-msg{
    cursor:pointer;
    margin-right:8px;
}
.reply-msg{
    cursor:pointer;
    margin-left:8px;
    font-size:14px;
    opacity:.7;
}
.reply-msg:hover{
    opacity:1;
}
@page{
    size:A4;
    margin:10mm;
}

body{
    font-family: Arial, sans-serif;
    font-size:14px;
    margin:0;
    padding:0;
}

.report{
    width:100%;
    max-width:100%;
    margin:0 auto;
    border:1px solid #ccc;
    padding:15px;
    box-sizing:border-box;
}

h1{
    text-align:center;
    color:#8b1240;
    font-size:22px;
    margin-bottom:10px;
}

h3{
    margin:8px 0;
    font-size:16px;
}

p{
    margin:4px 0;
    line-height:1.4;
}

table{
    width:100%;
    border-collapse:collapse;
    margin-top:10px;
    font-size:13px;
}

table th,
table td{
    border:1px solid #ccc;
    padding:6px;
}

.result-box{
    border:1px solid #ddd;
    padding:10px;
    margin:10px 0;
}

@media print{

    .print-btn{
        display:none;
    }

    body{
        margin:0;
    }

    .report{
        border:none;
        padding:0;
    }
}.couple-box{
    display:flex;
    gap:20px;
    margin-bottom:20px;
}

.person-box{
    flex:1;
    border:1px solid #ddd;
    padding:15px;
    border-radius:6px;
}

.person-box h3{
    margin-top:0;
    color:#8b1240;
}

@media print{
    .couple-box{
        display:flex;
    }
}
.couple-box{
    display:flex;
    gap:20px;
    margin-bottom:20px;
}

.person-box{
    flex:1;
    border:1px solid #ddd;
    padding:15px;
    border-radius:6px;
}

.person-box h3{
    margin-top:0;
    color:#8b1240;
}
@page{
    size:A4;
    margin:12mm;
}

body{
    font-family: Arial, sans-serif;
    margin:0;
}

.report{
    max-width:100%;
    border:1px solid #ccc;
    padding:20px;
}
.report .couple-box{
    display:flex !important;
    flex-direction:row !important;
    gap:20px !important;
    width:100%;
}

.report .person-box{
    flex:1 1 0 !important;
    width:50% !important;
    box-sizing:border-box;
    border:1px solid #ddd;
    padding:12px;
    border-radius:6px;
}
.dob-picker-wrap {
    position: relative;
    width: 100%;
}

.dob-picker-wrap .dob-input,
.dob-picker-wrap .flatpickr-input {
    display: block;
    width: 100%;
    height: 46px;
    box-sizing: border-box;
    padding: 10px 48px 10px 12px !important;
}

.dob-calendar-button {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;

    transform: translateY(-50%) !important;

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

    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    font-size: 19px;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
}

.dob-calendar-button:hover,
.dob-calendar-button:focus {
    background: transparent !important;
    outline: none;
}.register-step {
    display: none;
}

.register-step.active {
    display: block;
}

.register-step h3 {
    margin: 5px 0 22px;
    text-align: center;
}

.register-progress {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    max-width: 760px;
    margin: 15px auto 35px;
}

.register-progress-item {
    width: 120px;
    text-align: center;
}

.register-progress-item span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;
    margin: 0 auto 7px;

    border: 2px solid #b9b9b9;
    border-radius: 50%;

    background: #ffffff;
    font-weight: 700;
}

.register-progress-item small {
    display: block;
    line-height: 1.35;
}

.register-progress-item.active span,
.register-progress-item.completed span {
    border-color: #a72020;
    background: #a72020;
    color: #ffffff;
}

.register-progress-item.active small,
.register-progress-item.completed small {
    color: #a72020;
    font-weight: 600;
}

.register-progress-line {
    flex: 1;
    height: 2px;
    margin-top: 19px;
    background: #d3d3d3;
}

.step-actions {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 28px;
}

.step-actions-right {
    justify-content: flex-end;
}

.field-error {
    border-color: #c62828 !important;
    box-shadow: 0 0 0 1px #c62828 !important;
}

@media (max-width: 600px) {

    .register-progress-item {
        width: 82px;
    }

    .register-progress-item small {
        font-size: 11px;
    }

    .register-progress-line {
        min-width: 15px;
    }

    .step-actions {
        flex-direction: column;
    }

    .step-actions .btn {
        width: 100%;
    }
}
.verification-subtitle {
    margin-top: 5px;
    color: #667085;
    font-size: 13px;
}

.verification-ready-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 13px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.verification-incomplete {
    background: #fff4e5;
    color: #b54708;
    border: 1px solid #fedf89;
}

.verification-complete {
    background: #ecfdf3;
    color: #067647;
    border: 1px solid #abefc6;
}

.verification-progress-wrapper {
    margin-bottom: 22px;
    padding: 17px;
    background: #f8fafc;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
}

.verification-progress-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 9px;
    color: #344054;
    font-size: 14px;
    font-weight: 600;
}

.verification-progress-info strong {
    color: #175cd3;
    font-size: 16px;
}

.verification-progress-track {
    width: 100%;
    height: 11px;
    background: #e4e7ec;
    border-radius: 20px;
    overflow: hidden;
}

.verification-progress-bar {
    height: 100%;
    border-radius: 20px;
    background: linear-gradient(
        90deg,
        #f79009,
        #12b76a
    );
    transition: width 0.3s ease;
}

.verification-progress-text {
    margin-top: 8px;
    color: #667085;
    font-size: 12px;
}

.checklist-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.verification-check-card {
    position: relative;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr) 26px;
    gap: 12px;
    align-items: center;
    min-height: 82px;
    padding: 14px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #ffffff;
    cursor: pointer;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.verification-check-card:hover {
    border-color: #84adff;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.07);
    transform: translateY(-1px);
}

.verification-check-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.verification-check-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f2f4f7;
    border-radius: 10px;
    font-size: 22px;
}

.verification-check-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.verification-check-content strong {
    color: #1d2939;
    font-size: 14px;
}

.verification-check-content span {
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
}

.verification-check-mark {
    width: 23px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #d0d5dd;
    border-radius: 50%;
    color: transparent;
    background: #ffffff;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.2s ease;
}

.verification-check-card.checked {
    border-color: #12b76a;
    background: #f6fef9;
}

.verification-check-card.checked .verification-check-icon {
    background: #dcfae6;
}

.verification-check-card.checked .verification-check-mark {
    background: #12b76a;
    border-color: #12b76a;
    color: #ffffff;
}

@media (max-width: 800px) {
    .checklist-grid {
        grid-template-columns: 1fr;
    }

    .verify-card-header {
        align-items: flex-start;
        gap: 12px;
        flex-wrap: wrap;
    }
}