/* =====================================================
   TIKET BANTUAN DATABASE — TAHAP 2D
===================================================== */

.ticket-honeypot{
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

.ticket-account-note{
    margin:18px 0 4px;
    padding:13px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    border:1px solid #cfe1f3;
    border-radius:12px;
    background:#f4f9ff;
}

.ticket-account-note.guest{
    border-color:#e4dfc8;
    background:#fffcf2;
}

.ticket-account-note > span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#155ed4;
    background:#e5f0ff;
}

.ticket-account-note.guest > span{
    color:#a66a0d;
    background:#fff0cc;
}

.ticket-account-note .icon{
    width:20px;
    height:20px;
}

.ticket-account-note strong{
    display:block;
    color:#244e76;
    font-family:"Poppins",sans-serif;
    font-size:12px;
    font-weight:700;
}

.ticket-account-note p{
    margin:3px 0 0;
    color:#6d8399;
    font-size:10.5px;
    line-height:1.5;
}

.ticket-account-note > a{
    min-height:36px;
    padding:0 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    color:#155ed4;
    background:#e5f0ff;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
}

.ticket-attachment-field{
    margin-top:1px;
}

.ticket-attachment-input{
    min-height:76px;
    padding:13px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    border:1px dashed #c7d8e7;
    border-radius:11px;
    background:#f9fbfd;
}

.ticket-attachment-input > .icon{
    width:40px;
    height:40px;
    padding:10px;
    border-radius:11px;
    color:#155ed4;
    background:#eaf3ff;
}

.ticket-attachment-input strong{
    display:block;
    color:#3b5f80;
    font-size:11px;
    font-weight:700;
    overflow-wrap:anywhere;
}

.ticket-attachment-input small{
    display:block;
    margin-top:3px;
    color:#8294a6;
    font-size:9.5px;
}

.ticket-attachment-input input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.ticket-attachment-input button{
    min-height:38px;
    padding:0 12px;
    border:1px solid #c9d9e8;
    border-radius:9px;
    color:#426785;
    background:#fff;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
}

.contact-form-notice:not(.error){
    border-color:#bfe8d6;
    color:#116b49;
    background:#eaf8f1;
}

#contactSubmitButton:disabled,
.ticket-reply-form button:disabled{
    opacity:.7;
    cursor:wait;
}

.ticket-account-section{
    padding-top:26px;
    padding-bottom:26px;
}

.ticket-section-heading{
    margin-bottom:14px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
}

.ticket-section-heading small{
    display:block;
    color:#155ed4;
    font-size:10px;
    letter-spacing:.8px;
    font-weight:800;
}

.ticket-section-heading h2{
    margin:4px 0 0;
    color:#214b74;
    font-family:"Poppins",sans-serif;
    font-size:23px;
    font-weight:700;
}

.ticket-section-heading p{
    margin:5px 0 0;
    color:#74889b;
    font-size:11px;
}

.ticket-section-heading > span{
    padding:7px 10px;
    border-radius:999px;
    color:#426987;
    background:#eaf2f8;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
}

.ticket-account-layout{
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    gap:14px;
    align-items:start;
}

.ticket-list-card,
.ticket-detail-card{
    border:1px solid #dce7f0;
    border-radius:15px;
    background:#fff;
    box-shadow:0 14px 34px rgba(43,79,112,.07);
}

.ticket-list-card{
    max-height:760px;
    padding:8px;
    overflow:auto;
}

.ticket-list-item{
    position:relative;
    padding:12px;
    display:block;
    border:1px solid transparent;
    border-radius:11px;
    color:inherit;
    transition:.18s ease;
}

.ticket-list-item + .ticket-list-item{
    margin-top:5px;
}

.ticket-list-item:hover{
    border-color:#d9e5ef;
    background:#f8fbfd;
}

.ticket-list-item.active{
    border-color:#bcd6f3;
    background:#edf6ff;
}

.ticket-list-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.ticket-list-top > strong{
    color:#315b7f;
    font-size:10px;
    font-weight:800;
}

.ticket-list-item h3{
    margin:8px 0 0;
    color:#294f73;
    font-family:"Poppins",sans-serif;
    font-size:11.5px;
    font-weight:700;
    line-height:1.45;
}

.ticket-list-meta{
    margin-top:7px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.ticket-list-meta span,
.ticket-list-meta small{
    color:#8294a5;
    font-size:9px;
}

.ticket-unread-badge{
    margin-top:8px;
    padding:4px 7px;
    display:inline-flex;
    border-radius:999px;
    color:#fff;
    background:#155ed4;
    font-size:8.5px;
    font-weight:700;
}

.ticket-status{
    padding:5px 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:8.5px;
    font-weight:700;
    white-space:nowrap;
}

.ticket-status.new{
    color:#a7650b;
    background:#fff1d7;
}

.ticket-status.processing{
    color:#155ed4;
    background:#eaf3ff;
}

.ticket-status.waiting-user{
    color:#9d5a14;
    background:#ffead8;
}

.ticket-status.completed{
    color:#087052;
    background:#e2f6ed;
}

.ticket-status.closed{
    color:#66798b;
    background:#edf1f5;
}

.ticket-empty-list,
.ticket-empty-detail{
    min-height:260px;
    padding:28px 18px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.ticket-empty-list > span,
.ticket-empty-detail > span{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:15px;
    color:#6f8ba5;
    background:#edf3f8;
}

.ticket-empty-list .icon,
.ticket-empty-detail .icon{
    width:24px;
    height:24px;
}

.ticket-empty-list strong,
.ticket-empty-detail h3{
    margin:11px 0 0;
    color:#355b7c;
    font-family:"Poppins",sans-serif;
    font-size:13px;
    font-weight:700;
}

.ticket-empty-list p,
.ticket-empty-detail p{
    margin:6px 0 0;
    color:#7c8fa1;
    font-size:10.5px;
    line-height:1.55;
}

.ticket-empty-list a{
    margin-top:12px;
    padding:8px 11px;
    border-radius:8px;
    color:#155ed4;
    background:#eaf3ff;
    font-size:10px;
    font-weight:700;
}

.ticket-detail-card{
    min-height:450px;
    padding:16px;
}

.ticket-detail-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.ticket-detail-heading small{
    color:#155ed4;
    font-size:9px;
    letter-spacing:.8px;
    font-weight:800;
}

.ticket-detail-heading h2{
    margin:4px 0 0;
    color:#244f75;
    font-family:"Poppins",sans-serif;
    font-size:17px;
    font-weight:700;
}

.ticket-detail-heading p{
    margin:5px 0 0;
    color:#8092a3;
    font-size:9.5px;
}

.ticket-detail-summary{
    margin-top:13px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.ticket-detail-summary > div{
    padding:10px;
    border:1px solid #e3eaf1;
    border-radius:9px;
    background:#f9fbfd;
}

.ticket-detail-summary small{
    display:block;
    color:#899aaa;
    font-size:8.5px;
}

.ticket-detail-summary strong{
    display:block;
    margin-top:4px;
    color:#456784;
    font-size:9.5px;
    overflow-wrap:anywhere;
}

.ticket-conversation{
    max-height:560px;
    margin-top:15px;
    padding:13px;
    display:flex;
    flex-direction:column;
    gap:12px;
    overflow:auto;
    border:1px solid #e3eaf1;
    border-radius:11px;
    background:#f7fafc;
}

.ticket-message{
    max-width:86%;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    align-items:start;
}

.ticket-message.admin{
    align-self:flex-start;
}

.ticket-message.user{
    align-self:flex-end;
    grid-template-columns:minmax(0,1fr) 34px;
}

.ticket-message.user .ticket-message-avatar{
    grid-column:2;
}

.ticket-message.user .ticket-message-body{
    grid-column:1;
    grid-row:1;
    border-color:#c6daf0;
    background:#edf6ff;
}

.ticket-message-avatar{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#fff;
    background:#155ed4;
    font-size:9px;
    font-weight:800;
}

.ticket-message.user .ticket-message-avatar{
    background:#0a9169;
}

.ticket-message-body{
    padding:11px;
    border:1px solid #e0e8ef;
    border-radius:11px;
    background:#fff;
}

.ticket-message-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.ticket-message-meta strong{
    color:#355a7b;
    font-size:9.5px;
}

.ticket-message-meta small{
    color:#8b9baa;
    font-size:8.5px;
}

.ticket-message-body > p{
    margin:7px 0 0;
    color:#5e7891;
    font-size:10.5px;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.ticket-message-attachments{
    margin-top:9px;
    display:grid;
    gap:6px;
}

.ticket-message-attachments a{
    padding:8px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:8px;
    align-items:center;
    border:1px solid #d9e5ef;
    border-radius:8px;
    color:#3c6282;
    background:#f9fbfd;
}

.ticket-message-attachments .icon{
    width:28px;
    height:28px;
    padding:6px;
    border-radius:8px;
    color:#155ed4;
    background:#eaf3ff;
}

.ticket-message-attachments strong{
    display:block;
    font-size:9px;
    overflow-wrap:anywhere;
}

.ticket-message-attachments small{
    display:block;
    margin-top:2px;
    color:#8799a9;
    font-size:8px;
}

.ticket-reply-form{
    margin-top:14px;
    padding:13px;
    border:1px solid #dce6ef;
    border-radius:11px;
    background:#f8fafc;
}

.ticket-reply-form label > span{
    display:block;
    margin-bottom:7px;
    color:#3f6381;
    font-size:10px;
    font-weight:700;
}

.ticket-reply-form textarea{
    width:100%;
    min-height:120px;
    padding:11px;
    border:1px solid #d3e0eb;
    border-radius:9px;
    outline:0;
    resize:vertical;
    color:#345b7d;
    background:#fff;
    font:inherit;
    font-size:10.5px;
    line-height:1.6;
}

.ticket-reply-form textarea:focus{
    border-color:#155ed4;
    box-shadow:0 0 0 3px rgba(21,94,212,.08);
}

.ticket-reply-form label > small{
    display:block;
    margin-top:5px;
    color:#8999a8;
    font-size:8.5px;
    text-align:right;
}

.ticket-reply-form > button{
    min-height:40px;
    margin-top:10px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:0;
    border-radius:9px;
    color:#fff;
    background:#155ed4;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
}

.ticket-reply-form > button .icon{
    width:16px;
    height:16px;
}

.ticket-closed-note{
    margin-top:14px;
    padding:12px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    border:1px solid #dce4eb;
    border-radius:10px;
    background:#f5f7f9;
}

.ticket-closed-note > .icon{
    width:38px;
    height:38px;
    padding:9px;
    border-radius:10px;
    color:#6d8295;
    background:#e7ecf1;
}

.ticket-closed-note strong{
    display:block;
    color:#4a647b;
    font-size:10.5px;
}

.ticket-closed-note p{
    margin:3px 0 0;
    color:#8293a2;
    font-size:9.5px;
}

.ticket-closed-note a{
    padding:8px 10px;
    border-radius:8px;
    color:#155ed4;
    background:#eaf3ff;
    font-size:9.5px;
    font-weight:700;
}

@media(max-width:900px){
    .ticket-account-layout{
        grid-template-columns:280px minmax(0,1fr);
    }

    .ticket-detail-summary{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:740px){
    .ticket-account-note{
        grid-template-columns:38px minmax(0,1fr);
    }

    .ticket-account-note > a{
        grid-column:1/-1;
        width:100%;
    }

    .ticket-section-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .ticket-account-layout{
        grid-template-columns:1fr;
    }

    .ticket-list-card{
        max-height:360px;
    }

    .ticket-message{
        max-width:96%;
    }
}

@media(max-width:560px){
    .ticket-attachment-input{
        grid-template-columns:36px minmax(0,1fr);
    }

    .ticket-attachment-input button{
        grid-column:1/-1;
        width:100%;
    }

    .ticket-detail-heading{
        flex-direction:column;
    }

    .ticket-detail-summary{
        grid-template-columns:1fr;
    }

    .ticket-message{
        max-width:100%;
    }

    .ticket-closed-note{
        grid-template-columns:34px minmax(0,1fr);
    }

    .ticket-closed-note a{
        grid-column:1/-1;
        width:100%;
        text-align:center;
    }
}
