/**
	Bootstrap Custom Style
	Agus Prawoto Hadi
	Tahun: 2020 - 2022
	https://jagowebdev.com
*/

/* BUTTON */
.btn-success {
	/* background: #06bb0c;
	color: #FFFFFF !important;
	text-decoration: none !important; */
}
.btn-navy {
	background: #94a3b3;
    color: #ffffff;
}

.btn-primary {
	/* background: #2873d0;
    color: #FFFFFF; */
}
.btn-primary:hover {
    /* background: #315b9a; */
}
.btn-danger {
	/* background: #ec3f3f;
    color: #FFFFFF !important;
	text-decoration: none !important; */
}
.btn-xs {
	font-size: 12px !important;
    padding: 5px 10px !important;
}
.btn-danger:hover {
	/* background: #c53636; */
}
.btn-success:hover {
	/* background: #0b9810; */
}
.btn-dark {
	/* color: #FFFFFF;
	background: #3f4a58; */
}
.btn-dark:hover {
    /* background: #2e353e; */
}
.btn-inline {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
}
/*-- BUTTON */
.form-switch-lg .form-check-input {
	width: 3em;
	height: 1.5em;
	border-radius: 10px;
}
.form-check-input {
    width: 1.2em;
    height: 1.2em;
	margin-top: .2em;
}
/* Bootbox */
.bootbox-close-button {
	/* border: 0;
    background: none;
    font-size: 25px;
    color: #8c8d91; */
}

.alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: .75rem 1.25rem;
    color: inherit;
}
button.close {
	/* background-color: transparent; */
    border: 0;
    -webkit-appearance: none;
}

.close {
    float: right;
    font-size: 1.5rem;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
}
/*-- Bootbox */

.table>:not(:last-child)>:last-child>* {
    /* border-bottom-color: #CCCCCC; */
}

/* ALERT */
/* .alert {
	border-radius: 0;
	padding: 17px 20px;
} */

small.alert{
	padding: 5px 15px;
}
/* .alert-danger, .bg-danger {
	color: #ffdede;
    background: #ff5847 !important;
}
.bg-warning {
	color: #ffdede;
    background: orange !important;
}
.alert-success, .bg-success {
	background: #56cc66 !important;
	color: #eaffed;
}
.alert-danger a
,.bg-danger a 
,.alert-success a
,.bg-success a
{
	color: #1664a5;
}

.alert-danger a:hover
,.bg-danger a:hover
, .alert-success a:hover
, .bg-success a:hover
{
	color: #094d86;
} */

/* END - ALERT */
.table-striped tbody tr:nth-of-type(odd) {
    /* background-color: rgba(144, 144, 144, 0.05); */
}

.table.table-bordered td, .table.table-bordered th {
    /* border: 1px solid #e8e8e8; */
}

.bg-clear {
	/* background: #FFFFFF; */
}

.progress-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    /* background-color: #007bff; */
    transition: width .6s ease;
}

.btn {
	/* display: inline-block;
	font-size: inherit;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
	transition: all .2s;
	outline: 0; */
}

.content-wrapper > .card {
	border: 0;
	border-radius: 8px !important;
	/* background: #FFFFFF; */
    margin-bottom: 30px;
    /* box-shadow: 1px 1px 5px rgba(126, 142, 159, 0.1); */
	box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24) !important;
}

.content-wrapper > .card .card-header {
	background: #FFFFFF;
	border-bottom: 1px solid #ececec;
	border-radius: 8px 8px 0 0 !important;
	padding: 15px 30px 15px;
}

@media screen and (max-width: 992px) {
	.content-wrapper > .card .card-header {
		padding: 12px 16px !important;
	}
}
.content-wrapper > .card > .card-body {
	padding: 25px 30px 20px;
}

@media screen and (max-width: 992px) {
	.content-wrapper > .card > .card-body {
		padding: 15px 16px !important;
	}
}

.content-wrapper > .card .card-title {
	margin: 0;
    font-weight: 400;
    font-size: 18px;
}

.breadcrumb {
	background: #ffffff;
    padding: 18px 30px;
    border-bottom: 1px solid #e9eef3;
}
.breadcrumb-item + .breadcrumb-item::before {
	content: "\f101";
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size:10px;
	margin-top: 5px;
    color: #999fad;
}

.breadcrumb a{
	text-decoration: none;
}
.col-form-label {
	font-weight: 600;
}

.btn-label-icon {
	position: relative;
	display: inline-block;
}

.form-control {
	line-height: 1.7;
	border-radius: 5px;
	padding: .375rem 1rem !important;
}

.form-select {
	line-height: 1.7;
	border-radius: 5px;
	padding: .375rem 2.25rem .375rem .75rem !important;
}

.form-control, .btn, .form-select {
	border-radius: 4px !important;
}

/* Button Group Fixing - Modern Seamless Look */
.btn-group > .btn, 
.input-group > .btn {
    border-radius: 0 !important;
    margin-left: -1px !important;
}

.btn-group > .btn:first-child, 
.input-group > :first-child:not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.btn-group > .btn:last-child:not(.dropdown-toggle), 
.input-group > :last-child:not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

.btn-group > .btn:not(:first-child), 
.input-group > :not(:first-child) {
    border-left: 1px solid rgba(0,0,0,0.1) !important;
}

/* Hover fixes for icons with utility classes inside buttons */
.btn-outline-secondary:hover i {
    color: #fff !important;
}

.btn-outline-secondary:hover {
    color: #fff !important;
}
.input-group * {
	border-radius: 0px;
}
.input-group *:first-child {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}
.input-group *:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

/* Clean up old group rules */
.input-group > .form-control, 
.input-group > .btn, 
.input-group > .form-select, 
.input-group > .input-group-text {
    /* Handled by generic rules above */
}

.input-group .btn:not(.d-none) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

.select2-container--bootstrap-5 .select2-selection {
	min-height: calc(1.5em + .75rem + 8px) !important;
}

.select2-container--bootstrap-5 .select2-selection--single {
    padding: .6rem 2.25rem .375rem 0.7rem !important;
}

.form-check-input-md .form-check-input {
    height: 25px;
    width: 50px;
}

.form-check-input-sm .form-check-input {
    height: 20px;
    width: 40px;
}

.form-check-input-xs .form-check-input {
    height: 15px;
    width: 27px;
}

.form-switch .form-check-input {
	border-radius: 10px;
}

.input-group-text {
	/* border-radius: 0; */
}
.modal-body {
	padding: 15px 25px;
}

.close {
    float: right;
    font-size: 12px;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    /* opacity: .5; */
    /* z-index: 999999999; */
    padding: 20px;
    margin: 20px;
}
.btn-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    /* margin: 10px !important; */
    color: #000;
    padding: 10px !important;
    /* background: #fff0 url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e) center / 1em auto no-repeat !important; */
    border: 0;
    border-radius: .375rem;
    opacity: .5;
}

/* ========================================================================= */
/* ULTIMATE PREMIUM MODERN UI (Clean, Animated, Soft Shadows, Elegant)       */
/* ========================================================================= */

body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    background-color: #f8fafc;
    color: #334155;
    -webkit-font-smoothing: antialiased;
}

/* Base Animations */
@keyframes slideUpFade {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-5px); }
    100% { transform: translateY(0px); }
}

/* Premium Floating Cards */
.content-wrapper > .card, .card {
    background: #ffffff !important;
    border: 1px solid #eef2f6 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    transition: all 0.3s ease;
    animation: slideUpFade 0.5s ease forwards;
}

.content-wrapper > .card:hover, .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05) !important;
}

.card-header {
    border-bottom: 1px solid #f1f5f9 !important;
    background-color: transparent !important;
    padding: 1.5rem !important;
}

.card-title {
    font-weight: 700 !important;
    color: #0f172a !important;
    font-size: 1.15rem;
    letter-spacing: -0.015em;
}

/* Dashboard Stat Cards - Image Reference Style */
.card-stat-primary, .card-stat-success, .card-stat-warning, .card-stat-danger {
    border: none !important;
    border-radius: 12px !important;
    color: white !important;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;
}

.card-stat-primary { background-color: #195bb2 !important; } /* Biru Tua Cerah */
.card-stat-success { background-color: #2c7832 !important; } /* Hijau Tua Cerah */
.card-stat-warning { background-color: #b45309 !important; } /* Kuning Tua / Amber */
.card-stat-danger { background-color: #be123c !important; } /* Merah Tua / Crimson */

.card-stat-primary .card-body.card-stats,
.card-stat-success .card-body.card-stats,
.card-stat-warning .card-body.card-stats,
.card-stat-danger .card-body.card-stats {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.5rem !important;
}

.card-stat-primary .description,
.card-stat-success .description,
.card-stat-warning .description,
.card-stat-danger .description {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-stat-primary .card-title, 
.card-stat-success .card-title, 
.card-stat-warning .card-title, 
.card-stat-danger .card-title {
    color: #ffffff !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
    font-family: inherit;
}

.card-stat-primary p.card-text,
.card-stat-success p.card-text,
.card-stat-warning p.card-text,
.card-stat-danger p.card-text {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}

.card-stat-primary .card-stats .icon, 
.card-stat-success .card-stats .icon, 
.card-stat-warning .card-stats .icon, 
.card-stat-danger .card-stats .icon {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 12px !important;
    width: 52px !important;
    height: 52px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.card-stat-primary .card-stats .icon i, 
.card-stat-success .card-stats .icon i, 
.card-stat-warning .card-stats .icon i, 
.card-stat-danger .card-stats .icon i {
    color: #ffffff !important;
    font-size: 1.6rem !important;
}

.card-stat-primary:hover .card-stats .icon,
.card-stat-success:hover .card-stats .icon,
.card-stat-warning:hover .card-stats .icon,
.card-stat-danger:hover .card-stats .icon {
    transform: scale(1.05);
}

.card-stat-primary .card-footer,
.card-stat-success .card-footer,
.card-stat-warning .card-footer,
.card-stat-danger .card-footer {
    background-color: rgba(0, 0, 0, 0.1) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 0.8rem 1.5rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.card-stat-primary .card-footer p,
.card-stat-success .card-footer p,
.card-stat-warning .card-footer p,
.card-stat-danger .card-footer p {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    margin-bottom: 0 !important;
}

.card-stat-primary .card-footer-left,
.card-stat-success .card-footer-left,
.card-stat-warning .card-footer-left,
.card-stat-danger .card-footer-left {
    display: flex;
    align-items: center;
}

.card-stat-primary .card-footer .icon,
.card-stat-success .card-footer .icon,
.card-stat-warning .card-footer .icon,
.card-stat-danger .card-footer .icon {
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
}

.card-stat-primary .card-footer .icon i,
.card-stat-success .card-footer .icon i,
.card-stat-warning .card-footer .icon i,
.card-stat-danger .card-footer .icon i {
    font-size: 0.85rem !important;
    color: rgba(255,255,255, 0.9) !important;
    margin-right: 4px;
}

/* Elegant Bouncy Buttons */
.btn {
    border-radius: 4px !important;
    font-weight: 500 !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem;
    transition: all 0.2s ease !important;
    letter-spacing: 0.01em;
}

/* --- ACTION BUTTONS (MODERN LOOK) --- */
.table .btn-xs, .table .btn-sm {
    border-radius: 8px !important;     /* Sedikit kotak dengan sudut membulat */
    padding: 0 0.5rem !important;      /* Added padding to accommodate text */
    font-size: 0.8rem !important;
    margin: 0 0.2rem !important;
    box-shadow: none !important;      /* Tanpa bayangan agresif */
    border: none !important;          /* Tanpa border kasar */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;       /* Changed to min-width */
    height: 32px !important;          /* Fixed square height */
    transition: all 0.2s ease !important;
}

/* Icon-only buttons still look like squares */
.table .btn-xs:not(:has(span)):not(:has(i:not(:only-child))),
.table .btn-sm:not(:has(span)):not(:has(i:not(:only-child))) {
     padding: 0 !important;
     width: 32px !important;
}

/* Vibrant but Flat Colors for Table Actions */
.table .btn-success { background-color: #10b981 !important; color: #ffffff !important; }
.table .btn-success:hover { background-color: #059669 !important; transform: scale(1.05); }

.table .btn-danger { background-color: #ef4444 !important; color: #ffffff !important; }
.table .btn-danger:hover { background-color: #dc2626 !important; transform: scale(1.05); }

.table .btn-primary { background-color: #3b82f6 !important; color: #ffffff !important; }
.table .btn-primary:hover { background-color: #2563eb !important; transform: scale(1.05); }

.table .btn-warning { background-color: #f59e0b !important; color: #ffffff !important; }
.table .btn-warning:hover { background-color: #d97706 !important; transform: scale(1.05); }

.table .btn-info { background-color: #0ea5e9 !important; color: #ffffff !important; }
.table .btn-info:hover { background-color: #0284c7 !important; transform: scale(1.05); }

.table .btn-dark { background-color: #334155 !important; color: #ffffff !important; }
.table .btn-dark:hover { background-color: #1e293b !important; transform: scale(1.05); }

/* Force icons to perfectly center inside action buttons, but allow space for labels */
.table .btn i, .table .btn fas, .table .btn far {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
}

/* If there is a label (text) after the icon, add a bit of gap */
.table .btn i:not(:only-child), .table .btn fas:not(:only-child), .table .btn far:not(:only-child) {
    margin-right: 6px !important;
}

/* Fix inner spacing for specific icon classes like .pe-1 / .me-1 that might misalign square buttons */
.table .btn-xs i.pe-1, .table .btn-xs i.me-1, .table .btn-xs i.me-2, 
.table .btn-sm i.pe-1, .table .btn-sm i.me-1, .table .btn-sm i.me-2 {
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.btn-primary {
    background-color: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: white !important;
    box-shadow: none !important;
}

.btn-primary:hover {
    background-color: #2563eb !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.15) !important;
}

.btn-primary:active {
    transform: scale(0.98) translateY(0);
}

.btn-success {
    background-color: #10b981 !important;
    border-color: #10b981 !important;
    color: white !important;
    box-shadow: none !important;
}

.btn-success:hover {
    background-color: #059669 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.15) !important;
}

.btn-danger {
    background-color: #ef4444 !important;
    border-color: #ef4444 !important;
    color: white !important;
    box-shadow: none !important;
}

.btn-danger:hover {
    background-color: #dc2626 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.15) !important;
}

/* Premium Soft Inputs */
.form-control, .form-select {
    border-radius: 4px !important;
    border: 1px solid #d1d5db !important;
    padding: 0.6rem 1rem !important;
    background-color: #ffffff !important;
    color: #1f2937 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    font-size: 0.9rem;
}

/* Fix width for DataTables 'Show entries' dropdown and add vertical clearance */
.dataTables_length select {
    width: 80px !important;  
    padding-right: 30px !important; 
    padding-left: 10px !important;
    min-width: max-content;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

/* Ensure Search box focus ring is also not clipped */
.dataTables_filter input {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

/* Additional layout fix to ensure vertical breathing room for controls */
.dataTables_wrapper .row {
    margin-bottom: 0.5rem !important;
    align-items: center !important;
}

.form-control:focus, .form-select:focus {
    border-color: #3b82f6 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15) !important;
    /* Removed transform: translateY(-1px) to prevent clipping in tight layouts */
}

/* Beautiful Airy Tables */
.catatan-text:hover {
    text-decoration: underline;
    color: #3b82f6;
}
.table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.table th {
    background-color: #f8fafc !important;
    color: #64748b !important;
    font-weight: 600 !important;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
    padding: 1.25rem 1rem !important;
}

@media screen and (max-width: 992px) {
    .table th {
        padding: 0.75rem 0.5rem !important;
        font-size: 0.7rem !important;
    }
}

.table td {
    padding: 1.25rem 1rem !important;
    border-bottom: 1px solid #f1f5f9 !important;
    color: #475569;
    font-weight: 500;
    transition: all 0.2s ease;
}

@media screen and (max-width: 992px) {
    .table td {
        padding: 0.75rem 0.5rem !important;
        font-size: 0.8rem !important;
    }
}

.table-hover tbody tr {
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.table-hover tbody tr:hover td {
    background-color: #f8fafc !important;
    color: #0f172a;
}

/* Sidebar overriding */
.sidebar nav li a {
    font-weight: 500;
    color: #475569;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    margin-bottom: 4px;
}
.sidebar nav li a:hover {
    background-color: #eff6ff;
    color: #2563eb;
    transform: translateX(6px);
}

/* Elegant Pill Badges */
.badge {
    border-radius: 9999px !important;
    padding: 0.4em 0.85em !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    font-size: 0.75rem;
}

.badge.bg-warning { background-color: #fef3c7 !important; color: #b45309 !important; border: 1px solid #fde68a !important;}
.badge.bg-danger { background-color: #fee2e2 !important; color: #b91c1c !important; border: 1px solid #fecaca !important;}
.badge.bg-success { background-color: #d1fae5 !important; color: #047857 !important; border: 1px solid #a7f3d0 !important;}
.badge.bg-primary { background-color: #dbeafe !important; color: #1d4ed8 !important; border: 1px solid #bfdbfe !important;}

/* Global DataTable Header Style - semua tabel termasuk yang tanpa scrollX */
.dataTables_scrollHead thead th, .dataTables_scrollHead thead td,
.dataTables_scrollFoot tfoot th, .dataTables_scrollFoot tfoot td,
table.dataTable thead th, table.dataTable thead td,
table.dataTable tfoot th, table.dataTable tfoot td,
.table:not(.dataTable) thead th, .table:not(.dataTable) tfoot th {
    background-color: #eaf1fa !important;
    color: #1e3a5f !important;
    font-weight: bold !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding: 1rem 0.5rem !important;
}

/* Kolaps measurement thead/tfoot di scrollBody
   Pakai div.dataTables_scrollBody (specificity 0,1,4) > table.dataTable thead th (0,1,3)
   Sehingga bisa override !important di atas tanpa mengubah pengiriman/tabel non-scrollX */
div.dataTables_scrollBody thead tr,
div.dataTables_scrollBody tfoot tr {
    visibility: collapse !important; /* spec: row zero-height tapi lebar kolom masih dihitung */
    height: 0 !important;
    line-height: 0 !important;
}
div.dataTables_scrollBody thead th,
div.dataTables_scrollBody thead td,
div.dataTables_scrollBody tfoot th,
div.dataTables_scrollBody tfoot td {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    /* padding kiri/kanan dibiarkan agar lebar kolom tetap match */
    border-top: 0 !important;
    border-bottom: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    font-size: 0 !important;
    background: transparent !important;
}


/* Rapatkan gap antara scrollHead / scrollBody / scrollFoot */
.dataTables_scrollHead {
    border-bottom: 0 !important;
}
div.dataTables_scrollBody {
    overflow-y: auto !important; /* Scrollbar vertikal hanya muncul jika konten melebihi tinggi */
}
.dataTables_scrollBody > table {
    border-top: 0 !important;
    margin-top: 0 !important;
}
.dataTables_scrollFoot {
    border-top: 0 !important;
}
.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
    margin-top: 0 !important;
    border-top: 0 !important;
}



/* --- WHATSAPP LINK --- */
a.wa-link {
    display: inline-flex;
    align-items: center;
    color: #1a8a4a;
    font-weight: 500;
    text-decoration: none;
    gap: 2px;
    transition: all 0.2s ease;
    border-radius: 8px;
    padding: 2px 6px;
    background: rgba(37, 211, 102, 0.08);
}
a.wa-link:hover {
    background: rgba(37, 211, 102, 0.18);
    color: #146b3a;
    transform: scale(1.02);
}

/* --- PREMIUM SWEETALERT2 STYLING --- */
.swal2-popup.swal2-modal {
    border-radius: 24px !important;
    padding: 2rem 1.5rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(255,255,255, 0.1) !important;
}

.swal2-title {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    padding-top: 1rem !important;
}

.swal2-html-container {
    font-size: 1rem !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin-top: 0.75rem !important;
}

.swal2-actions {
    margin-top: 2rem !important;
    gap: 12px !important;
}

.swal2-confirm, .swal2-cancel {
    border-radius: 14px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

.swal2-confirm {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.3) !important;
}

.swal2-confirm:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 20px -3px rgba(16, 185, 129, 0.4) !important;
}

.swal2-cancel {
    background: #f1f5f9 !important;
    color: #64748b !important;
}

.swal2-cancel:hover {
    background: #e2e8f0 !important;
    color: #334155 !important;
}

.swal2-loader {
    border-color: #10b981 transparent #10b981 transparent !important;
}

.swal2-icon {
    border-width: 3px !important;
    margin-top: 0.5rem !important;
}
