:root{
    --header-height: 80px;
    --header-height-mobile: 96px;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html,
body{
    font-size: 14px;
    width:100%;
    max-width:100%;
}

.main-header {
    transform-origin: top center;
}

.nav-container {
    min-height: 78px;
}

.logo img {
    max-height: 66px;
}

.nav-menu a,
.apply-btn,
.login-btn {
    font-size: 14px;
}

.notification-menu {
    position: relative;
    display: inline-flex;
}

.notification-bell {
    width: 34px;
    height: 34px;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
    flex: 0 0 auto;
}

.notification-bell img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
}

.notification-bell strong {
    position: absolute;
    top: -7px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(185, 28, 28, 0.28);
}

.notification-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(280px, 86vw);
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14);
    padding: 8px;
    z-index: 5000;
}

.notification-menu:hover .notification-dropdown,
.notification-menu:focus-within .notification-dropdown {
    display: grid;
    gap: 4px;
}

.notification-dropdown a,
.notification-dropdown span {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #0f172a;
    text-decoration: none;
    font-size: 13px;
}

.notification-dropdown a:hover {
    background: #f8fafc;
}

body{
    overflow-x:hidden;
}

body{
    margin:0;
    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:#1a1a1a;
    padding-top:var(--header-height);
}

a{
    text-decoration:none;
}

.container{
    width:92%;
    max-width:1350px;
    margin:auto;
    padding:0 15px;
    box-sizing:border-box;
}

.glass{
    backdrop-filter:blur(14px);
    background:rgba(255,255,255,.7);
    border:1px solid rgba(255,255,255,.4);
	padding: 24px;
    border-radius:20px;
}

.main-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    min-height:var(--header-height);
    z-index:9999;
    padding:12px;
    box-sizing:border-box;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    background:rgba(255,122,0,0);
    border:1px solid #ff7a00;
    border-top:none;
    border-radius:0 0 22px 22px;
    box-shadow:0 10px 24px rgba(176,140,84,.10);
}

.nav-container{
    width:min(92%,1300px);
    max-width:1300px;
    margin:auto;
    display:flex;
    align-items:center;
    gap:18px;
    justify-content:space-between;
    min-height:var(--header-height);
    padding:10px 0;
    box-sizing:border-box;
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.logo img{
    height:56px;
    width:auto;
    object-fit:contain;
    display:block;
    transition:.25s ease;
}

.logo img:hover{
    transform:scale(1.04);
}

.menu-toggle{
    display:none;
    width:42px;
    height:42px;
    font-size:30px;
    line-height:1;
    cursor:pointer;
    margin-left:auto;
    color:#102f5d;
    flex-shrink:0;
    text-align:center;
    align-items:center;
    justify-content:center;
    overflow:visible;
}

.main-header nav{
    margin-left:auto;
    flex:1 1 auto;
}

.nav-menu{
    list-style:none;
    display:flex;
    align-items:center;
    gap:28px;
    margin:0;
    padding:0;
}

.nav-menu li{
    position:relative;
}

.nav-menu a{
    color:#1a1a1a;
    font-weight:500;
    font-size:15px;
    position:relative;
    padding:6px 0;
}

.nav-menu a.active{
    color:#ff6b00;
    font-weight:600;
}

.nav-menu a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:2px;
    background:#2a5bd7;
    transition:.25s ease;
}

.nav-menu a:hover::after{
    width:100%;
}

.nav-menu a:hover{
    color:#2a5bd7;
}

.dropdown-menu{
    position:absolute;
    top:34px;
    left:0;
    background:#fff;
    padding:12px 0;
    border-radius:16px;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
    display:none;
    min-width:220px;
    animation:fadeDrop .25s ease;
}

.dropdown-menu a{
    display:block;
    padding:10px 20px;
    color:#333;
    font-size:14px;
    white-space:nowrap;
}

.dropdown-menu a:hover{
    background:#f4f7ff;
    color:#2a5bd7;
}

.dropdown:hover .dropdown-menu{
    display:block;
}

@keyframes fadeDrop{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:18px;
    justify-content:flex-end;
}

.main-header .apply-btn,
.main-header .login-btn{
    min-height:34px;
    padding:3px 10px;
    border-radius:13px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:.25s ease;
    font-size:14px;
}

.main-header .apply-btn{
    background:#ff7a00;
    color:white;
    box-shadow:0 8px 18px rgba(255,122,0,.35);
}

.main-header .apply-btn:hover{
    transform:translateY(-2px);
}

.btn-orange{
    background:#ff7a00;
    color:#fff;
    padding:10px 18px;
    border-radius:16px;
    display:inline-block;
    font-weight:600;
    transition:.3s;
}

.btn-orange:hover{
    transform:translateY(-2px);
}

.btn-outline{
    border:2px solid #2a5bd7;
    color:#2a5bd7;
    padding:10px 18px;
    border-radius:16px;
    display:inline-block;
    font-weight:500;
    transition:.3s;
}

.btn-outline:hover{
    background:#2a5bd7;
    color:white;
}

.main-header .login-btn{
    border:1.5px solid #1b4d8f;
    color:#1b4d8f;
    background:#fffaf4;
}

.main-header .login-btn:hover{
    background-color:#ff7a00;
    border-color:#ff7a00;
    color:white;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(255,122,0,.35);
}

.footer{
    background:
        radial-gradient(circle at 12% 0%, rgba(255,122,0,.22), transparent 30%),
        linear-gradient(135deg,#08142e,#0f1c3f 58%,#122c5a);
    color:white;
    padding:46px 0 22px;
    margin-top:60px;
    position:relative;
    overflow:hidden;
}

.footer::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.06),transparent 45%);
    pointer-events:none;
}

.footer-grid{
    width:92%;
    max-width:1300px;
    margin:auto;
    display:grid;
    grid-template-columns:1.35fr repeat(3,1fr);
    gap:34px;
    position:relative;
    z-index:1;
}

.footer-brand img{
    width:142px;
    max-width:100%;
    background:#fff;
    border-radius:10px;
    padding:5px;
    margin-bottom:14px;
}

.footer h3{
    margin:0 0 8px;
    font-size:22px;
}

.footer p{
    color:#dbe7ff;
    line-height:1.7;
    margin:0 0 10px;
}

.footer h4{
    margin:0 0 14px;
    color:#fff;
}

.footer a{
    color:#dbe7ff;
    display:block;
    margin-bottom:9px;
    font-size:14px;
    text-decoration:none;
    transition:color .2s ease, transform .2s ease;
}

.footer a:hover{
    color:white;
    transform:translateX(2px);
}

.footer-social{
    display:flex;
    gap:10px;
    margin-top:16px;
}

.footer-social a{
    width:38px;
    height:38px;
    border-radius:999px;
    background:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px;
    margin:0;
    box-shadow:0 10px 26px rgba(0,0,0,.18);
}

.footer-social a:hover{
    transform:translateY(-2px);
}

.footer-social img{
    width:22px;
    height:22px;
    object-fit:contain;
}

.footer-cta{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:max-content;
    margin-top:8px;
    padding:10px 14px;
    border-radius:999px;
    background:#ff7a00;
    color:#fff !important;
    font-weight:700;
    box-shadow:0 14px 28px rgba(255,122,0,.26);
}

.copyright{
    width:92%;
    max-width:1300px;
    margin:30px auto 0;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.14);
    display:flex;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    font-size:14px;
    color:#b9c8e8;
    position:relative;
    z-index:1;
}

.floating-apply{
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    background:white;
    width:420px;
    max-width:95%;
    padding:15px 20px;
    border-radius:40px;
    box-shadow:0 15px 40px rgba(0,0,0,0.15);
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:9999;
    transition:.3s;
}

.fa-left span{
    font-weight:700;
    color:#0b3c6f;
}

.fa-left p{
    font-size:13px;
    color:#666;
    margin-top:2px;
}

.fa-btn{
    background:#ff7a00;
    color:white;
    padding:10px 22px;
    border-radius:25px;
    text-decoration:none;
    font-weight:600;
}

.user-menu{
    position:relative;
    display:inline-block;
}

.user-avatar{
    width:42px;
    height:42px;
    background:#4caf50;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    cursor:pointer;
    overflow:hidden;
    text-decoration:none;
}

.user-avatar img,
.mobile-account-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.partner-nav-avatar{
    display:flex;
}

.dropdown-menu-user{
    position:absolute;
    right:0;
    top:50px;
    background:#fff;
    width:180px;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,0.1);
    display:none;
    overflow:hidden;
}

.dropdown-menu-user a{
    display:block;
    padding:12px;
    text-decoration:none;
    color:#333;
    font-size:14px;
}

.dropdown-menu-user a:hover{
    background:#f5f5f5;
}

.dropdown-menu-user .logout{
    color:red;
}

.mobile-account-item{
    position:relative;
}

.mobile-account-toggle{
    width:100%;
    border:1px solid #edf1f5;
    background:#ffffff;
    border-radius:16px;
    padding:12px 14px;
    display:flex;
    align-items:center;
    gap:12px;
    text-align:left;
    cursor:pointer;
    font:inherit;
    color:#0f172a;
}

.mobile-account-avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#4caf50;
    color:#ffffff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    flex-shrink:0;
    overflow:hidden;
}

.profile-image-modal {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15,23,42,.58);
}

.profile-image-modal.show {
    display: flex;
}

.profile-image-modal-card {
    width: min(430px, 94vw);
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 18px;
    padding: 18px;
    position: relative;
    box-shadow: 0 24px 70px rgba(15,23,42,.24);
}

.profile-image-modal-card h3 {
    margin: 0 0 12px;
}

.profile-image-modal-card p {
    margin: 12px 0 0;
    color: #64748b;
    font-size: 12px;
}

.profile-image-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: #f1f5f9;
    cursor: pointer;
    font-size: 20px;
}

.profile-image-stage {
    aspect-ratio: 1 / 1;
    width: min(280px, 76vw);
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #ff9a3d;
    background: #f8fafc;
}

.profile-image-stage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-image-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.profile-image-actions button {
    min-height: 38px;
    border-radius: 10px;
    border: 1px solid #c7d2fe;
    background: #eef4ff;
    color: #173f7a;
    font-weight: 700;
    padding: 8px 12px;
    cursor: pointer;
}

.profile-image-actions button.muted {
    background: #f8fafc;
    color: #475569;
    border-color: #dbe3ef;
}

.mobile-account-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.mobile-account-copy strong{
    font-size:15px;
    font-weight:600;
}

.mobile-account-copy small{
    color:#64748b;
    font-size:12px;
}

.mobile-account-menu{
    display:none;
    padding:8px 0 0;
}

.mobile-account-item.open .mobile-account-menu{
    display:block;
}

.mobile-account-menu a{
    display:block;
    padding:10px 0 10px 54px;
    border-bottom:1px solid #edf1f5;
}

.mobile-account-menu .logout{
    color:#be123c;
}

.toast{
    position:fixed;
    top:calc(var(--header-height, 92px) + 18px);
    right:20px;
    z-index:9999;
    min-width:280px;
    max-width:350px;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(12px);
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,0.15);
    padding:14px 18px;
    animation:slideIn .4s ease;
    transition:.3s;
}

.toast.hide,
.success.hide,
.error.hide {
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
}

.notification-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.notification-pill strong,
.nav-new-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
}

.nav-new-badge {
    margin-left: 6px;
}

.toast.success{
    border-left:5px solid #00c851;
}

.toast.error{
    border-left:5px solid #ff4444;
}

.toast-content{
    display:flex;
    align-items:center;
    gap:12px;
}

.toast-icon{
    font-size:20px;
    font-weight:bold;
}

.toast.success .toast-icon{
    color:#00c851;
}

.toast.error .toast-icon{
    color:#ff4444;
}

.toast h3{
    margin:0;
    font-size:14px;
}

.toast p{
    margin:2px 0 0;
    font-size:13px;
    color:#555;
}

.toast-close{
    margin-left:auto;
    cursor:pointer;
    font-size:14px;
    opacity:.6;
}

.toast-close:hover{
    opacity:1;
}

.site-flash-stack,
.app-flash-stack{
    position:fixed;
    top:96px;
    left:50%;
    transform:translateX(-50%);
    z-index:4000;
    width:min(720px, calc(100% - 28px));
    display:grid;
    gap:10px;
}

.site-flash,
.app-flash{
    padding:13px 16px;
    border-radius:14px;
    border:1px solid #dbe3ef;
    background:#fff;
    color:#0f172a;
    box-shadow:0 18px 50px rgba(15,23,42,.16);
    font-size:14px;
    font-weight:700;
    transition:opacity .3s ease, transform .3s ease;
}

.site-flash.success,
.app-flash.success{
    background:#ecfdf3;
    border-color:#bbf7d0;
    color:#166534;
}

.site-flash.error,
.app-flash.error{
    background:#fef2f2;
    border-color:#fecaca;
    color:#991b1b;
}

.site-flash.info,
.app-flash.info{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1e3a8a;
}

@keyframes slideIn{
    from{
        opacity:0;
        transform:translateX(40px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

#chatBtn{
    position:fixed;
    bottom:20px;
    right:20px;
    background:#ff7a00;
    color:#fff;
    border:none;
    width:46px;
    height:46px;
    border-radius:50%;
    cursor:pointer;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 14px 28px rgba(255,122,0,.28);
    font-size:14px;
    font-weight:700;
}

#topBtn{
    position:fixed;
    right:20px;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    z-index:9998;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 14px 28px rgba(17,43,80,.16);
}

#topBtn{
    bottom:74px;
    background:#0b3c6f;
    color:#ffffff;
}

.chat-box{
    position:fixed;
    bottom:80px;
    right:20px;
    width:300px;
    max-height:400px;
    background:#fff;
    border-radius:10px;
    box-shadow:0 0 15px rgba(0,0,0,0.2);
    display:none;
    flex-direction:column;
    z-index:9999;
}

.chat-body{
    overflow-y:auto;
    max-height:250px;
}

@media(max-width:992px){

    .nav-menu{
        gap:18px;
    }

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

}

@media(max-width:768px){

    body{
        padding-top:var(--header-height-mobile);
    }

    .main-header{
        min-height:var(--header-height-mobile);
        padding:0;
        background:#ffffff;
    }

    .nav-container{
        min-height:var(--header-height-mobile);
    }

    .floating-apply{
        bottom:0;
        left:0;
        transform:none;
        width:100%;
        max-width:100%;
        min-height:58px;
        padding:10px 12px;
        border-radius:0;
        box-sizing:border-box;
    }

    .floating-apply .fa-left{
        min-width:0;
    }

    .floating-apply .fa-left span,
    .floating-apply .fa-left p{
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:58vw;
    }

    .floating-apply .fa-btn{
        flex:0 0 auto;
        padding:10px 18px;
        font-size:13px;
    }

    .floating-apply ~ #chatBtn{
        bottom:74px;
    }

    #chatBtn,
    #topBtn{
        right:8px;
    }

    #chatBtn{
        width:40px;
        height:40px;
        font-size:12px;
    }

    #topBtn{
        width:36px;
        height:36px;
        font-size:11px;
    }

    #topBtn{
        bottom:60px;
    }

}

@media(max-width:600px){

    .footer-grid{
        grid-template-columns:1fr;
    }

}

/* ================= CHAT BUTTON ================= */
#chatBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #ff7a00;
    color: #fff;
    border: none;
    padding: 14px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 9999;
}

.floating-apply ~ #chatBtn {
    bottom: 86px;
}

#waFloatBtn{
    position:fixed;
    right:20px;
    bottom:128px;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#25d366;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 16px 32px rgba(37,211,102,.28);
    z-index:9998;
    transition:transform .2s ease, box-shadow .2s ease;
}

#waFloatBtn:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 38px rgba(37,211,102,.34);
}

#waFloatBtn img{
    width:28px;
    height:28px;
    object-fit:contain;
    display:block;
}

.floating-apply ~ #waFloatBtn{
    bottom:140px;
}

/* ================= CHAT BOX ================= */
.chat-box {
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 320px;
    height: 420px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    display: none;
    flex-direction: column;
    overflow: hidden;
    z-index: 9999;
}

/* HEADER */
.chat-header {
    background: #0a66ff;
    color: #fff;
    padding: 12px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* BODY */
.chat-body {
    flex: 1;
    padding: 10px;
    overflow-y: auto;
    background: #f9f9f9;
}

/* MESSAGE */
.msg {
    padding: 8px 10px;
    margin: 6px 0;
    border-radius: 8px;
    max-width: 80%;
    font-size: 14px;
}

/* BOT MESSAGE */
.msg.bot {
    background: #e4edff;
    align-self: flex-start;
}

/* USER MESSAGE */
.msg.user {
    background: #ff7a00;
    color: #fff;
    align-self: flex-end;
}

/* INPUT AREA */
.chat-input {
    display: flex;
    border-top: 1px solid #ddd;
}

/* INPUT FIELD */
.chat-input input {
    flex: 1;
    border: none;
    padding: 10px;
    outline: none;
}

/* SEND BUTTON */
.chat-input button {
    background: #ff7a00;
    border: none;
    color: #fff;
    padding: 0 16px;
    cursor: pointer;
}

.legal-modal{
    position:fixed;
    inset:0;
    z-index:10020;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(5,18,38,.52);
}

.legal-modal.open{
    display:flex;
}

.legal-modal-card{
    width:min(620px,100%);
    max-height:min(78vh,620px);
    overflow:auto;
    background:#fff;
    border-radius:16px;
    padding:22px;
    box-shadow:0 28px 80px rgba(5,18,38,.28);
    border:1px solid #dfe7f2;
    position:relative;
}

.legal-modal-card button{
    position:absolute;
    top:12px;
    right:14px;
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:#f1f5fb;
    color:#0b2244;
    cursor:pointer;
    font-size:22px;
    line-height:1;
}

.legal-modal-card h3{
    margin:0 38px 12px 0;
    font-size:20px;
    color:#0b2244;
}

.legal-modal-card p{
    margin:0 0 10px;
    color:#46556d;
    line-height:1.6;
    font-size:13px;
}

.document-viewer-modal{
    position:fixed;
    inset:0;
    z-index:10030;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(5,18,38,.62);
}

.document-viewer-modal.open{
    display:flex;
}

.document-viewer-card{
    width:min(960px,96vw);
    height:min(760px,88vh);
    background:#fff;
    border:1px solid #dbe3ef;
    border-radius:16px;
    box-shadow:0 28px 80px rgba(5,18,38,.32);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.document-viewer-head{
    min-height:54px;
    padding:12px 16px;
    border-bottom:1px solid #e2e8f0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}

.document-viewer-head h3{
    margin:0;
    font-size:17px;
    color:#0b2244;
}

.document-viewer-head div{
    display:flex;
    align-items:center;
    gap:10px;
}

.document-viewer-head a{
    color:#1d4ed8;
    font-weight:700;
}

.document-viewer-head button{
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:#f1f5fb;
    color:#0b2244;
    font-size:24px;
    cursor:pointer;
}

.document-viewer-card iframe{
    width:100%;
    height:100%;
    border:0;
    background:#f8fafc;
}

@media(max-width:768px){
    .floating-apply ~ #chatBtn{
        bottom:92px;
    }

    .floating-apply ~ #topBtn{
        bottom:140px;
    }

    .floating-apply ~ #waFloatBtn{
        bottom:186px;
    }
}

@media(max-width:768px){
    #waFloatBtn{
        right:8px;
        bottom:102px;
        width:40px;
        height:40px;
    }

    #waFloatBtn img{
        width:24px;
        height:24px;
    }
}

/* Unified floating action stack keeps WhatsApp, back-to-top, and AI aligned on mobile. */
.floating-action-stack{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:10010;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}

.floating-action-stack .floating-action-btn,
.floating-action-stack #chatBtn,
.floating-action-stack #topBtn,
.floating-action-stack #waFloatBtn{
    position:static !important;
    inset:auto !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    text-decoration:none !important;
    box-sizing:border-box !important;
}

.floating-action-stack #waFloatBtn{
    background:#25d366 !important;
    box-shadow:0 14px 28px rgba(37,211,102,.28) !important;
}

.floating-action-stack #topBtn{
    background:#0b3c6f !important;
    color:#ffffff !important;
    box-shadow:0 14px 28px rgba(17,43,80,.18) !important;
    display:none !important;
}

.floating-action-stack #topBtn.is-visible{
    display:flex !important;
}

.floating-action-stack #chatBtn{
    background:#ff7a00 !important;
    color:#ffffff !important;
    font-size:14px !important;
    font-weight:700 !important;
    box-shadow:0 14px 28px rgba(255,122,0,.28) !important;
}

.floating-action-stack #waFloatBtn img{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    max-width:24px !important;
    min-height:24px !important;
    max-height:24px !important;
    object-fit:contain !important;
    display:block !important;
}

@media(max-width:768px){
    .floating-action-stack{
        right:10px;
        bottom:18px;
        gap:9px;
    }

    .floating-action-stack .floating-action-btn,
    .floating-action-stack #chatBtn,
    .floating-action-stack #topBtn,
    .floating-action-stack #waFloatBtn{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        max-width:42px !important;
        min-height:42px !important;
        max-height:42px !important;
    }

    .floating-action-stack #waFloatBtn img{
        width:22px !important;
        height:22px !important;
        min-width:22px !important;
        max-width:22px !important;
        min-height:22px !important;
        max-height:22px !important;
    }

    .floating-apply ~ .floating-action-stack{
        bottom:74px;
    }
}
