/* BASE BUTTON */
.btn{
	border:none !important;
	border-radius:12px;
	font-weight:600;
	padding:.55rem 1.15rem;
	letter-spacing:.2px;
	transition:all .25s ease;
	box-shadow:0 4px 14px rgba(0,0,0,.08);
	position:relative;
	overflow:hidden;
}

/* HOVER GLOBAL */
.btn:hover{
	transform:translateY(-2px);
	box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.btn:active{
	transform:translateY(0);
	box-shadow:0 4px 10px rgba(0,0,0,.10);
}

/* PRIMARY */
.btn-primary{
	background:linear-gradient(135deg,#1c5994 0%,#2673bd 100%);
	color:#fff !important;
}

.btn-primary:hover,
.btn-primary:focus{
	background:linear-gradient(135deg,#174b7d 0%,#1c5994 100%);
}

/* SUCCESS */
.btn-success{
	background:linear-gradient(135deg,#198754 0%,#22c55e 100%);
	color:#fff !important;
}

.btn-success:hover,
.btn-success:focus{
	background:linear-gradient(135deg,#157347 0%,#16a34a 100%);
}

/* DANGER */
.btn-danger{
	background:linear-gradient(135deg,#e3322e 0%,#ff5a55 100%);
	color:#fff !important;
}

.btn-danger:hover,
.btn-danger:focus{
	background:linear-gradient(135deg,#c62828 0%,#e3322e 100%);
}

/* WARNING */
.btn-warning{
	background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%);
	color:#fff !important;
}

.btn-warning:hover,
.btn-warning:focus{
	background:linear-gradient(135deg,#d97706 0%,#f59e0b 100%);
}

/* INFO */
.btn-info{
	background:linear-gradient(135deg,#0ea5e9 0%,#38bdf8 100%);
	color:#fff !important;
}

.btn-info:hover,
.btn-info:focus{
	background:linear-gradient(135deg,#0284c7 0%,#0ea5e9 100%);
}

/* SECONDARY */
.btn-secondary{
	background:linear-gradient(135deg,#6b7280 0%,#9ca3af 100%);
	color:#fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus{
	background:linear-gradient(135deg,#4b5563 0%,#6b7280 100%);
}

/* LIGHT */
.btn-light{
	background:#ffffff;
	color:#1f2937 !important;
	border:1px solid #e5e7eb !important;
	box-shadow:none;
}

.btn-light:hover{
	background:#f9fafb;
	border-color:#d1d5db !important;
}

/* DARK */
.btn-dark{
	background:linear-gradient(135deg,#111827 0%,#374151 100%);
	color:#fff !important;
}

.btn-dark:hover{
	background:linear-gradient(135deg,#030712 0%,#111827 100%);
}

.card{
	border-radius:18px;
	border:none;
	box-shadow:0 8px 30px rgba(0,0,0,.06);
}
.card{
	border:none;
	border-radius:18px;
	box-shadow:0 8px 30px rgba(0,0,0,.06);
	transition:.25s ease;
}

.card:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 40px rgba(0,0,0,.10);
}
.form-control,
.form-select{
	border-radius:12px;
	border:1px solid #dbe2ea;
	padding:.7rem .95rem;
	box-shadow:none;
	transition:.2s ease;
}

.form-control:focus,
.form-select:focus{
	border-color:#1c5994;
	box-shadow:0 0 0 4px rgba(28,89,148,.12);
}
.table{
	border-collapse:separate;
	border-spacing:0 8px;
}

.table tbody tr{
	background:#fff;
	box-shadow:0 2px 10px rgba(0,0,0,.03);
}

.table tbody td{
	vertical-align:middle;
	border:none;
}
.badge{
	padding:.45em .8em;
	border-radius:999px;
	font-weight:600;
}
.modal-content{
	border:none;
	border-radius:20px;
	box-shadow:0 20px 60px rgba(0,0,0,.18);
}
.navbar,
.sidebar{
	box-shadow:0 4px 20px rgba(0,0,0,.05);
	backdrop-filter:blur(12px);
}


/* MOBILE CARD VIEW DATATABLE */
@media (max-width: 768px){

	.dataTables_wrapper .table-responsive{
		overflow:visible !important;
	}

	table.dataTable{
		border-collapse:separate !important;
		border-spacing:0 12px !important;
	}

	table.dataTable thead{
		display:none;
	}

	table.dataTable tbody{
		display:block;
	}

	table.dataTable tbody tr{
		display:block;
		background:#fff;
		border-radius:16px;
		padding:14px;
		margin-bottom:14px;
		box-shadow:0 6px 20px rgba(0,0,0,.06);
		border:none;
	}

	table.dataTable tbody td{
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
		gap:16px;
		width:100%;
		border:none !important;
		padding:8px 0 !important;
		text-align:right !important;
	}

	table.dataTable tbody td::before{
		content:attr(data-label);
		font-weight:600;
		color:#6b7280;
		text-align:left;
		flex:0 0 40%;
	}

	table.dataTable tbody td:last-child{
		padding-bottom:0 !important;
	}

	table.dataTable tbody td:first-child{
		padding-top:0 !important;
	}
	
	table.dataTable tbody td[data-label="Aksi"]{
		margin-top:10px;
		padding-top:12px !important;
		border-top:1px solid #eee !important;
	}

	/* Kolom aksi jangan pakai split kiri-kanan */
	table.dataTable tbody td[data-label="Aksi"]{
		display:block !important;
		text-align:left !important;
		margin-top:10px;
		padding-top:12px !important;
		border-top:1px solid #eef2f7 !important;
	}

	/* Hilangkan pseudo label default */
	table.dataTable tbody td[data-label="Aksi"]::before{
		display:none !important;
	}

	/* Rapikan tombol */
	table.dataTable tbody td[data-label="Aksi"] .btn{
		margin-right:6px;
		margin-bottom:6px;
	}
}
/* =========================
   DATATABLE FLAT CONTROLS
========================= */

/* Wrapper spacing */
.dataTables_wrapper .row{
	align-items:center;
	gap:.75rem 0;
}

/* SHOW ENTRIES SELECT */
.dataTables_wrapper .dataTables_length select{
	border:1px solid #dbe2ea;
	border-radius:10px;
	padding:.4rem 2rem .4rem .75rem;
	background:#fff;
	box-shadow:none;
	font-size:14px;
	min-width:75px;
	transition:.2s ease;
}

.dataTables_wrapper .dataTables_length select:focus{
	border-color:#1c5994;
	box-shadow:0 0 0 4px rgba(28,89,148,.10);
	outline:none;
}

/* SEARCH INPUT */
.dataTables_wrapper .dataTables_filter input{
	border:1px solid #dbe2ea;
	border-radius:12px;
	padding:.5rem .9rem;
	min-width:220px;
	background:#fff;
	box-shadow:none;
	transition:.2s ease;
}

.dataTables_wrapper .dataTables_filter input:focus{
	border-color:#1c5994;
	box-shadow:0 0 0 4px rgba(28,89,148,.10);
	outline:none;
}

/* LABEL CLEANUP */
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label{
	font-weight:500;
	color:#6b7280;
	font-size:14px;
}

/* INFO TEXT */
.dataTables_wrapper .dataTables_info{
	color:#6b7280;
	font-size:14px;
	padding-top:.85rem;
}

/* PAGINATION */
.dataTables_wrapper .dataTables_paginate .paginate_button{
	border:none !important;
	background:#fff !important;
	border-radius:10px !important;
	margin:0 3px;
	padding:.45rem .8rem !important;
	color:#1c5994 !important;
	box-shadow:0 2px 8px rgba(0,0,0,.04);
	transition:.2s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
	background:#1c5994 !important;
	color:#fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current{
	background:#1c5994 !important;
	color:#fff !important;
	box-shadow:0 4px 12px rgba(28,89,148,.25);
}

/* MOBILE VIEW */
@media (max-width:768px){

	.dataTables_wrapper .dataTables_length,
	.dataTables_wrapper .dataTables_filter,
	.dataTables_wrapper .dataTables_info,
	.dataTables_wrapper .dataTables_paginate{
		text-align:center !important;
		width:100%;
	}

	.dataTables_wrapper .dataTables_filter input{
		width:100% !important;
		min-width:unset;
		margin-top:8px;
	}

	.dataTables_wrapper .dataTables_length select{
		width:100%;
		margin-top:8px;
	}

	.dataTables_wrapper .dataTables_paginate{
		margin-top:14px;
	}
    .dataTables_wrapper .dataTables_filter label,
    .dataTables_wrapper .dataTables_length label{
    	margin-bottom:0;
    	width:80%;
    }
}

@media (max-width:768px){

	/* Wrapper toolbar */
	.dataTables_wrapper .row:first-child{
		display:flex;
		flex-wrap:nowrap;
		align-items:center;
		gap:10px;
	}

	/* Length area */
	.dataTables_wrapper .dataTables_length{
		flex:0 0 auto;
		width:auto !important;
		margin:0 !important;
		text-align:left !important;
	}

	/* Search area */
	.dataTables_wrapper .dataTables_filter{
		flex:1 1 auto;
		width:auto !important;
		margin:0 !important;
		text-align:left !important;
	}

	/* Search full available width */
	.dataTables_wrapper .dataTables_filter input{
		width:100% !important;
		min-width:unset !important;
		margin:0 !important;
	}

	/* Compact dropdown mobile */
	.dataTables_wrapper .dataTables_length select{
		width:auto !important;
		min-width:65px;
	}
}


/* Group container */
@media (max-width:768px){
    /* =========================
       UNIFIED DATATABLE TOOLBAR
    ========================= */
    
    .dataTables_wrapper .row:first-child{
    	margin-bottom:18px;
    }
    
    .dataTables_wrapper .row:first-child > div{
    	display:flex;
    	align-items:center;
    }
    
    /* Wrapper visual toolbar */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter{
    	margin:0 !important;
    }
    
    .dataTables_wrapper .dataTables_length label,
    .dataTables_wrapper .dataTables_filter label{
    	margin:0;
    	width:100%;
    }
	.dataTables_wrapper .row:first-child{
		display:flex;
		flex-wrap:nowrap;
		gap:10px;
		padding:10px;
		background:#fff;
		border-radius:14px;
		box-shadow:0 4px 16px rgba(0,0,0,.05);
	}

	.dataTables_wrapper .dataTables_length{
		flex:0 0 auto;
	}

	.dataTables_wrapper .dataTables_filter{
		flex:1 1 auto;
		position:relative;
	}

	/* Search icon */
	.dataTables_wrapper .dataTables_filter::before{
		content:'🔍';
		position:absolute;
		left:14px;
		top:50%;
		transform:translateY(-50%);
		font-size:14px;
		opacity:.55;
		pointer-events:none;
		z-index:2;
	}

	/* Dropdown */
	.dataTables_wrapper .dataTables_length select{
		height:42px;
		border-radius:10px;
		padding:.4rem .8rem;
		border:1px solid #dbe2ea;
		background:#f8fafc;
		min-width:70px;
	}

	/* Search Input */
	.dataTables_wrapper .dataTables_filter input{
		width:100% !important;
		height:42px;
		padding-left:38px !important;
		border-radius:10px;
		border:1px solid #dbe2ea;
		background:#f8fafc;
		margin:0 !important;
	}
}

@media (max-width:768px){

	/* Toolbar wrapper */
	.dataTables_wrapper > .row:first-child{
		display:flex !important;
		flex-wrap:nowrap !important;
		align-items:center;
		gap:10px;
		padding:10px;
		background:#fff;
		border-radius:14px;
		box-shadow:0 4px 16px rgba(0,0,0,.05);
		margin-bottom:16px;
	}

	/* Override bootstrap col bawaan DT */
	.dataTables_wrapper > .row:first-child > div{
		width:auto !important;
		max-width:none !important;
		flex:none !important;
		padding:0 !important;
	}

	/* Length */
	.dataTables_wrapper .dataTables_length{
		flex:0 0 auto;
		margin:0 !important;
	}

	/* Search wrapper */
	.dataTables_wrapper .dataTables_filter{
		flex:1 1 auto;
		min-width:0;
		width:100% !important;
		margin:0 !important;
		position:relative;
        margin-top: 10px !important;
	}

	.dataTables_wrapper .dataTables_filter label{
		display:block;
		width:100%;
		margin:0;
	}

	/* Search icon */
	.dataTables_wrapper .dataTables_filter::before{
		content:'🔍';
		position:absolute;
		left:14px;
		top:50%;
		transform:translateY(-50%);
		font-size:14px;
		opacity:.55;
		z-index:2;
		pointer-events:none;
	}

	/* Search input */
	.dataTables_wrapper .dataTables_filter input{
		width:100% !important;
		max-width:100%;
		box-sizing:border-box;
		margin:0 !important;
		padding-left:38px !important;
		height:42px;
		background:#f8fafc;
		border:1px solid #dbe2ea;
		border-radius:10px;
	}

	/* Length select */
	.dataTables_wrapper .dataTables_length select{
		width:auto !important;
		min-width:70px;
		height:42px;
		background:#f8fafc;
		border:1px solid #dbe2ea;
		border-radius:10px;
	}
}
.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #1c5994;
    border-color: #1c5995;
    border-radius: 50px;
}


/* PAGINATION BUTTON */
.dataTables_wrapper .dataTables_paginate .paginate_button{
	border:none !important;
	background:#f3f4f6 !important;
	color:#9ca3af !important;
	border-radius:10px !important;
	min-width:40px;
	height:40px;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	margin:0 3px;
	padding:0 !important;
	box-shadow:none;
	transition:.2s ease;
}

/* Icon default grey */
.dataTables_wrapper .dataTables_paginate .paginate_button i{
	color:#9ca3af;
	transition:.2s ease;
}

/* Hover */
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
	background:#1c5994 !important;
	color:#fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover i{
	color:#fff !important;
}

/* Active */
.dataTables_wrapper .dataTables_paginate .paginate_button.current{
	background:#1c5994 !important;
	color:#fff !important;
	box-shadow:0 4px 12px rgba(28,89,148,.25);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current i{
	color:#fff !important;
}

/* Disabled */
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{
	opacity:.45;
	cursor:not-allowed !important;
}


/* Jarak bawah tabel ke footer pagination/info */ 
.dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_paginate{ 
    margin-top:18px; 
} 
/* Optional: jika ingin tabel lebih lega dari wrapper */ 
.dataTables_wrapper .dataTables_scroll, .dataTables_wrapper .table-responsive{ 
    margin-bottom:10px; 
}

/* =========================
   MODERN SIDEBAR STYLE
========================= */

.sidebar{
	background:#ffffff;
	width:280px;
	padding:18px 14px;
	border-right:1px solid #eef2f7;
	box-shadow:8px 0 30px rgba(0,0,0,.04);
	overflow-y:auto;
}

/* Divider */
.sidebar .dropdown-divider{
	margin:14px 0;
	border-color:#eef2f7;
}

/* Nav Item spacing */
.sidebar-nav .nav-item{
	margin-bottom:6px;
	list-style:none;
}

/* Main Link */
.sidebar-nav .nav-link{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 14px;
	border-radius:14px;
	color:#4b5563;
	font-weight:500;
	text-decoration:none;
	transition:all .25s ease;
	background:transparent;
}

/* Icon */
.sidebar-nav .nav-link i:first-child{
	font-size:16px;
	min-width:18px;
	color:#94a3b8;
	transition:.25s ease;
}

/* Hover */
.sidebar-nav .nav-link:hover{
	background:#f3f7fc;
	color:#1c5994;
	transform:translateX(3px);
}

.sidebar-nav .nav-link:hover i:first-child{
	color:#1c5994;
}

/* Active/Open Parent */
.sidebar-nav .nav-link:not(.collapsed),
.sidebar-nav .nav-link.active{
	background:linear-gradient(135deg,#1c5994,#2673bd);
	color:#fff;
	box-shadow:0 6px 18px rgba(28,89,148,.18);
}

.sidebar-nav .nav-link:not(.collapsed) i,
.sidebar-nav .nav-link.active i{
	color:#fff !important;
}

/* Chevron Rotate */
.sidebar-nav .nav-link .bi-chevron-down{
	transition:transform .25s ease;
	font-size:13px;
}

.sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down{
	transform:rotate(180deg);
}

/* SUBMENU WRAPPER */
.sidebar-nav .nav-content{
	padding-left:14px;
	margin-top:6px;
}

/* SUBMENU ITEM */
.sidebar-nav .nav-content .nav-link{
	padding:10px 14px;
	font-size:14px;
	border-radius:12px;
	color:#6b7280;
	background:transparent !important;
	box-shadow:none !important;
	transform:none !important;
}

/* Submenu Dot/Icon */
.sidebar-nav .nav-content .nav-link i{
	font-size:8px !important;
	color:#cbd5e1 !important;
	min-width:12px;
}

/* Submenu Hover */
.sidebar-nav .nav-content .nav-link:hover{
	background:#f8fafc !important;
	color:#1c5994 !important;
	padding-left:18px;
}

.sidebar-nav .nav-content .nav-link:hover i{
	color:#1c5994 !important;
}

/* Active Submenu */
.sidebar-nav .nav-content .nav-link.active{
	background:#eaf2fb !important;
	color:#1c5994 !important;
	font-weight:600;
}

.sidebar-nav .nav-content .nav-link.active i{
	color:#1c5994 !important;
}

/* Scrollbar */
.sidebar::-webkit-scrollbar{
	width:6px;
}

.sidebar::-webkit-scrollbar-thumb{
	background:#dbe2ea;
	border-radius:999px;
}

/* =========================
   PREMIUM HEADER STYLE
========================= */

.header{
	height:72px;
	padding:0 22px;
	background:rgba(255,255,255,.88);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(229,231,235,.7);
	box-shadow:0 6px 24px rgba(0,0,0,.04);
	z-index:997;
}

/* LOGO */
.header .logo{
	gap:10px;
	text-decoration:none;
}

.header .logo img{
	height:34px;
	width:auto;
	object-fit:contain;
	transition:.25s ease;
}

.header .logo:hover img{
	transform:scale(1.04);
}

.header .logo span{
	font-size:20px;
	font-weight:700;
	color:#1f2937;
	letter-spacing:-.3px;
}

/* HAMBURGER TOGGLE */
.toggle-sidebar-btn{
	width:42px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	font-size:22px;
	color:#64748b;
	cursor:pointer;
	transition:all .25s ease;
	margin-left:14px;
	background:transparent;
}

.toggle-sidebar-btn:hover{
	background:#f1f5f9;
	color:#1c5994;
}

/* PROFILE LINK */
.nav-profile{
	padding:8px 12px !important;
	border-radius:14px;
	transition:.25s ease;
	gap:10px;
}

.nav-profile:hover{
	background:#f8fafc;
}

/* PROFILE AVATAR */
.nav-profile img{
	width:42px;
	height:42px;
	object-fit:cover;
	border:2px solid #e5e7eb;
	transition:.25s ease;
}

.nav-profile:hover img{
	border-color:#1c5994;
	transform:scale(1.04);
}

/* PROFILE NAME */
.nav-profile span{
	font-weight:600;
	color:#374151;
	font-size:14px;
}

/* DROPDOWN MENU */
.dropdown-menu.profile{
	border:none;
	border-radius:18px;
	padding:10px;
	min-width:260px;
	box-shadow:0 18px 50px rgba(0,0,0,.12);
	animation:fadeDropdown .18s ease;
}

/* Dropdown Header */
.dropdown-menu.profile .dropdown-header{
	text-align:center;
	padding:14px 10px;
}

.dropdown-menu.profile .dropdown-header img{
	width:62px;
	height:62px;
	border:3px solid #eef2f7;
	margin-bottom:10px;
}

.dropdown-menu.profile .dropdown-header h6{
	font-weight:700;
	color:#1f2937;
	margin-bottom:2px;
}

.dropdown-menu.profile .dropdown-header span{
	font-size:13px;
	color:#6b7280;
}

/* Dropdown Item */
.dropdown-menu.profile .dropdown-item{
	border-radius:12px;
	padding:11px 14px;
	font-weight:500;
	display:flex;
	align-items:center;
	gap:12px;
	transition:.2s ease;
	position:relative;
}

.dropdown-menu.profile .dropdown-item i{
	font-size:15px;
	color:#64748b;
	transition:.2s ease;
}

.dropdown-menu.profile .dropdown-item:hover{
	background:#f3f7fc;
	color:#1c5994;
	padding-left:18px;
}

.dropdown-menu.profile .dropdown-item:hover i{
	color:#1c5994;
}

/* Divider */
.dropdown-menu.profile .dropdown-divider{
	margin:8px 0;
	border-color:#eef2f7;
}

/* Badge Role */
.dropdown-menu.profile .badge{
	border-radius:999px;
	font-size:11px;
	padding:.4em .7em;
}

/* Fade Animation */
@keyframes fadeDropdown{
	from{
		opacity:0;
		transform:translateY(8px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}

/* =========================
   ANIMATED HAMBURGER
========================= */

.toggle-sidebar-btn{
	width:44px;
	height:44px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	cursor:pointer;
	border-radius:12px;
	transition:.25s ease;
}

.toggle-sidebar-btn:hover{
	background:#f3f7fc;
	box-shadow:0 6px 14px rgba(28,89,148,.10);
}

/* Lines */
.toggle-sidebar-btn span{
	display:block;
	width:20px;
	height:2.5px;
	background:#475569;
	border-radius:999px;
	transition:all .28s cubic-bezier(.4,0,.2,1);
	transform-origin:center;
}

/* ACTIVE = MORPH TO X */
body.toggle-sidebar .toggle-sidebar-btn span:nth-child(1){
	transform:translateY(7.5px) rotate(45deg);
}

body.toggle-sidebar .toggle-sidebar-btn span:nth-child(2){
	opacity:0;
	transform:scaleX(0);
}

body.toggle-sidebar .toggle-sidebar-btn span:nth-child(3){
	transform:translateY(-7.5px) rotate(-45deg);
}

/* Active Button BG */
body.toggle-sidebar .toggle-sidebar-btn{
	background:#eaf2fb;
	padding-right: 11px;
}

/* =========================
   SELECT2 MODERN OVERRIDE
========================= */

/* Base Container */
.select2-container{
	width:100% !important;
}

/* Single Select */
.select2-container--default .select2-selection--single{
	height:46px !important;
	border:1px solid #dbe2ea !important;
	border-radius:12px !important;
	background:#fff !important;
	padding:0 14px !important;
	display:flex !important;
	align-items:center;
	box-shadow:none !important;
	transition:.2s ease;
}

/* Rendered Text */
.select2-container--default .select2-selection--single .select2-selection__rendered{
	color:#1f2937 !important;
	line-height:normal !important;
	padding-left:0 !important;
	padding-right:28px !important;
	font-size:14px;
}

/* Arrow */
.select2-container--default .select2-selection--single .select2-selection__arrow{
	height:100% !important;
	right:12px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
	border-color:#94a3b8 transparent transparent transparent !important;
	border-width:6px 5px 0 5px !important;
}

/* Focus/Open */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single{
	border-color:#1c5994 !important;
	box-shadow:0 0 0 4px rgba(28,89,148,.12) !important;
}

/* Dropdown Panel */
.select2-dropdown{
	border:none !important;
	border-radius:14px !important;
	box-shadow:0 14px 40px rgba(0,0,0,.10) !important;
	overflow:hidden;
	padding:6px;
}

/* Search Box */
.select2-search--dropdown .select2-search__field{
	border:1px solid #dbe2ea !important;
	border-radius:10px !important;
	padding:10px 12px !important;
	outline:none !important;
}

/* Option Item */
.select2-results__option{
	padding:10px 14px !important;
	border-radius:10px;
	font-size:14px;
	transition:.15s ease;
}

/* Hover */
.select2-results__option--highlighted{
	background:#f3f7fc !important;
	color:#1c5994 !important;
}

/* Selected */
.select2-results__option[aria-selected="true"]{
	background:#eaf2fb !important;
	color:#1c5994 !important;
	font-weight:600;
}

/* MULTIPLE SELECT */
.select2-container--default .select2-selection--multiple{
	min-height:46px !important;
	border:1px solid #dbe2ea !important;
	border-radius:12px !important;
	padding:6px !important;
}

/* Multiple Tag */
.select2-container--default .select2-selection--multiple .select2-selection__choice{
	background:#eaf2fb !important;
	border:none !important;
	border-radius:999px !important;
	padding:4px 10px !important;
	color:#1c5994 !important;
	font-weight:500;
}

.select2-container--bootstrap-5.select2-container--focus .select2-selection, .select2-container--bootstrap-5.select2-container--open .select2-selection{
	height: 47px;
}
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    padding-top: 6px;
}
.select2-container--bootstrap-5 .select2-selection--single{
	height: 48px;
	border-radius: 12px;
}
/* ===============================
   MODERN BOOTSTRAP ALERT OVERRIDE
   =============================== */

.alert{
	border:none !important;
	border-radius:14px;
	padding:14px 18px;
	font-weight:500;
	box-shadow:0 8px 20px rgba(0,0,0,0.06);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	position:relative;
	overflow:hidden;
	animation:fadeSlideIn .35s ease;
}

/* Extra padding jika dismissible */
.alert-dismissible{
	padding-right:3.5rem;
}

/* Accent bar kiri */
.alert::before{
	content:'';
	position:absolute;
	left:0;
	top:0;
	width:5px;
	height:100%;
	border-radius:14px 0 0 14px;
}

/* Close Button */
.alert .btn-close{
	position:absolute;
	top:50%;
	right:14px;
	transform:translateY(-50%);
	padding:.5rem;
	border-radius:10px;
	opacity:.55;
	transition:.25s ease;
	box-shadow:none !important;
	outline:none !important;
	filter:grayscale(.2);
}

.alert .btn-close:hover{
	opacity:1;
	transform:translateY(-50%) scale(1.08);
	background:rgba(0,0,0,0.05);
}

.alert .btn-close:focus{
	box-shadow:none !important;
}

/* SUCCESS */
.alert-success{
	background:#ecfdf3 !important;
	color:#067647 !important;
}
.alert-success::before{
	background:#12b76a;
}

/* DANGER */
.alert-danger{
	background:#fef3f2 !important;
	color:#b42318 !important;
}
.alert-danger::before{
	background:#f04438;
}

/* WARNING */
.alert-warning{
	background:#fffaeb !important;
	color:#b54708 !important;
}
.alert-warning::before{
	background:#f79009;
}

/* INFO */
.alert-info{
	background:#eff8ff !important;
	color:#175cd3 !important;
}
.alert-info::before{
	background:#2e90fa;
}

/* PRIMARY */
.alert-primary{
	background:#eef4ff !important;
	color:#3538cd !important;
}
.alert-primary::before{
	background:#4f46e5;
}

/* SECONDARY */
.alert-secondary{
	background:#f8f9fc !important;
	color:#344054 !important;
}
.alert-secondary::before{
	background:#667085;
}

/* LIGHT */
.alert-light{
	background:#fcfcfd !important;
	color:#344054 !important;
}
.alert-light::before{
	background:#d0d5dd;
}

/* DARK */
.alert-dark{
	background:#101828 !important;
	color:#f9fafb !important;
}
.alert-dark::before{
	background:#475467;
}
.alert-dark .btn-close{
	filter:invert(1);
	background-color:rgba(255,255,255,0.06);
}

/* Animation */
@keyframes fadeSlideIn{
	from{
		opacity:0;
		transform:translateY(-8px);
	}
	to{
		opacity:1;
		transform:translateY(0);
	}
}