body {
	/*background-image: url('../img/background.jpg');*/
	/*background-color: #f7f7f7;*/
	background : linear-gradient(to top, #71BBD6 0%, #E8F7FC 100%);
	background-size:cover;
	background-attachment: fixed;
	font-family: 'Ubuntu';
}


@font-face {
	font-family: 'Ubuntu';
	src: url('../font/Ubuntu-Medium.ttf');
}

hr {
	padding: 0px;
	margin: 5px 0px;
	border: 1px solid #edeeef;
}
.jamdigital {
	color: black;
	font-size: 34px;
	text-align: center;
}

.btn-power {
	background:#d9534f;
	color: #FFFFFF;
	font-weight: bold;
	margin: -20px 15px -20px 0px;
	padding: 5px 5px;
	border: 1px solid #2a84ae;
	border-radius: 10%;
}

.btn-rincian {
	margin: -31px 0px;
	padding: 3px 6px;
}

.input-rincian{
	width: 75%;
}

.logo-dashboard{
	font-family: 'Ubuntu';
	text-transform:uppercase;
	font-size: 28px;
	float: left;
	padding-left: 15px;
	color: #fffff !important;
}

.logo-text{
	text-align: center;
	text-transform:uppercase;
	font-family: Ubuntu;
	color: black !important;
}

.login-panel{
	margin:auto;
	margin-top:150px;
	width:300px;
}

.login-panel img{
	margin-bottom:20px;
}

.login-panel  > .panel{
	padding:10px;
}

.footer{
	text-align:center;
	color:#666;
}

.footerlogin{
	text-align:center;
	color:gray;
}

.hidden-scrollbar {
	background-color: black;
	border: 2px solid #666;
	color: white;
	overflow: hidden;
	text-align: justify;
}

.hidden-scrollbar .inner {
	height: 200px;
	overflow: auto;
	margin: 15px -300px 15px 15px;
	padding-right: 300px;
}

.error_validasi {
	margin-top:15px;
	margin-bottom: 0px;
}

.error_validasi p {
	color:red;
	padding:0px;
	margin: 0px !important;
}


#my-grid th {
	border-color:#C9DCEA;
	background-color: #deeffc;
	background-color: -moz-linear-gradient(top,  #deeffc 0%, #d7e6f2 100%);
	background-color: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#deeffc), color-stop(100%,#d7e6f2));
	background-color: -webkit-linear-gradient(top,  #deeffc 0%,#d7e6f2 100%);
	background-color: -o-linear-gradient(top,  #deeffc 0%,#d7e6f2 100%);
	background-color: -ms-linear-gradient(top,  #deeffc 0%,#d7e6f2 100%);
	background-color: linear-gradient(to bottom,  #deeffc 0%,#d7e6f2 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#deeffc', endColorstr='#d7e6f2',GradientType=0 );
}

.judul-transaksi {
	margin-top: 5px;
	margin-bottom: 15px;
}

.table-responsive {
	overflow: hidden;
}

.alert {
	margin-bottom: 0px;
}

#daftar-autocomplete {
	list-style:none;
	margin:0;
	padding:0;
	width:100%;
	
}

#daftar-autocomplete li {
	padding: 5px 10px 5px 10px;
	background:#FAFAFA;
	border-bottom:#ddd 1px solid;
}

#daftar-autocomplete li:hover,
#daftar-autocomplete li.autocomplete_active {
	background:#2a84ae;
	color:#fff;
	cursor: pointer;
}

#hasil_pencarian{
	display: none;
	position: absolute;
	max-height: 350px;
	overflow: visible;
	border:1px solid #ddd;
	z-index: 999;
}

.TotalBayar {
	text-align: right;
}

.TotalBayar h2 {
	margin-top: 0px;
	margin-bottom: 0px;
}

button#CetakStruk, button#Simpann {
	padding-top: 8px;
	padding-bottom: 8px;
}

.info_pelanggan {
	margin-bottom: 0px;
}

.info_pelanggan td {
	padding: 2px;
	text-align: left;
}

#LoadingContent {
	height: 30px;
	margin: auto;
	width: 180px;
	background: #ff005e;
	text-align: center;
	line-height: 29px;
	font-weight: bold;
	color: #fff;
}

@media screen and (max-width:768px) {
	.table-responsive {
		overflow: auto;
	}
}

.pos-notification-wrap{position:relative;display:flex;align-items:center;justify-content:center;z-index:1002}
.pos-notification-btn{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #e2eaf1;background:#f8fbfd;color:#60788d;border-radius:12px;text-decoration:none!important;transition:all .18s ease;box-shadow:0 2px 6px rgba(19,61,91,.04)}
.pos-notification-btn:hover,.pos-notification-btn:focus{background:#eef7fd;color:#087fd0;border-color:#cfe6f6;text-decoration:none}
.pos-notification-btn.has-alert{background:#fff7f7;border-color:#ffd6d6;color:#df4e4e}
.pos-notification-btn.has-alert:hover{background:#fff0f0;color:#c92f2f}
.pos-notification-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px}
.pos-notification-dot{position:absolute;top:-5px;right:-6px;min-width:21px;height:21px;padding:0 5px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#e84f4f;color:#fff;font-size:9px;font-weight:800;line-height:1;border:3px solid #fff;box-shadow:0 3px 8px rgba(211,55,55,.22)}
.pos-notification-tooltip{position:absolute;right:0;top:calc(100% + 9px);width:245px;padding:12px 14px;background:#fff;border:1px solid #e0e8ef;border-radius:11px;box-shadow:0 14px 32px rgba(17,55,84,.15);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .16s ease;pointer-events:none}
.pos-notification-wrap:hover .pos-notification-tooltip{opacity:1;visibility:visible;transform:translateY(0)}
.pos-notification-tooltip strong{display:block;color:#17364e;font-size:12px;margin-bottom:4px}
.pos-notification-tooltip span{display:block;color:#788b9d;font-size:11px;line-height:1.45}
.pos-search-wrap{position:relative;z-index:1001}
.pos-search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;width:100%;min-width:360px;background:#fff;border:1px solid #dce5ee;border-radius:10px;box-shadow:0 12px 30px rgba(18,55,85,.16);overflow:hidden}
.pos-search-results.is-open{display:block}
.pos-search-result{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #eef2f6;text-decoration:none!important;color:#18324a!important}
.pos-search-result:last-child{border-bottom:0}
.pos-search-result:hover{background:#f4f9fd}
.pos-search-result-icon{width:34px;height:34px;border-radius:8px;background:#eaf5ff;color:#1389df;display:flex;align-items:center;justify-content:center;flex:0 0 34px}
.pos-search-result-copy{display:flex;flex-direction:column;min-width:0}
.pos-search-result-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-search-result-copy small{font-size:11px;color:#7b8c9d;margin-top:2px}
.pos-search-empty{padding:18px;color:#7b8c9d;text-align:center;font-size:13px}
@media(max-width:600px){.pos-search-results{min-width:280px}.pos-search-wrap{width:calc(100vw - 95px)}}


.payroll-wrap{max-width:100%}
.payroll-section{background:#fff;border:1px solid #e4eaf1;border-radius:12px;padding:18px;margin:16px 0}
.payroll-section h4{font-weight:700;margin:0 0 14px}
.payroll-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}
.payroll-grid label,.modal-box label{font-size:12px;font-weight:700;color:#526579;display:block;margin-bottom:5px}
.payroll-table{width:100%;border-collapse:collapse}
.payroll-table th{background:#f3f7fb;color:#41566b;font-size:12px;white-space:nowrap}
.payroll-table td,.payroll-table th{padding:10px;border:1px solid #e8edf3;vertical-align:middle}
.payroll-card{border:1px solid #e1e8f0;border-radius:10px;padding:15px;margin:12px 0;background:#fff}
.payroll-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #edf1f5;padding-bottom:10px;margin-bottom:12px}
.payroll-data{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.payroll-data>div{background:#f7f9fc;border-radius:8px;padding:10px;min-width:0}
.payroll-data small{display:block;color:#68798a;font-size:11px}
.payroll-data strong{font-size:14px;overflow-wrap:anywhere}
.payroll-status{display:inline-block;padding:4px 9px;border-radius:30px;background:#fff2d5;color:#805600;font-size:12px;font-weight:700}
.payroll-status.paid{background:#e4f7ed;color:#137447}
.payroll-modal{display:none;position:fixed;inset:0;z-index:10050;background:rgba(10,25,42,.58);padding:22px;overflow-y:auto;align-items:flex-start;justify-content:center}
.payroll-modal.open{display:flex}
.modal-box{background:#fff;width:min(680px,100%);margin:auto;border-radius:13px;box-shadow:0 18px 55px rgba(0,0,0,.25);overflow:hidden}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e7edf3;gap:12px}
.modal-head h4{margin:0;font-weight:700}
.modal-close{border:0;background:#f0f3f7;border-radius:8px;font-size:22px;line-height:1;padding:5px 11px;color:#34495e}
.modal-body{padding:20px}
.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.modal-grid .full{grid-column:1/-1}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;border-top:1px solid #e7edf3}
.modal-box .form-control{width:100%;max-width:100%}
.payroll-modal-open{margin:3px 4px 3px 0}
.payroll-subheading{font-weight:700;margin-top:20px}
.payroll-note{margin-top:12px}
@media(max-width:850px){.payroll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-data{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.payroll-grid,.modal-grid{grid-template-columns:1fr}.payroll-section{padding:12px}.payroll-data{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-modal{padding:10px}.modal-body{padding:14px}}

/* Payroll page layout and summaries. */
.payroll-page { padding-bottom:26px; }
.payroll-page-heading { align-items:center; }
.payroll-page-heading h1 { color:#15283b; }
.payroll-period-badge { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid #dce8f1; border-radius:10px; background:#fff; color:#216b9f; font-weight:800; white-space:nowrap; }
.payroll-flash { margin:0 0 14px; }
.payroll-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:15px; }
.payroll-summary-card { display:flex; align-items:center; gap:12px; min-width:0; padding:15px; border:1px solid #e1eaf2; border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(35,67,96,.05); }
.payroll-summary-icon { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:#eaf5fd; color:#087dcc; font-size:17px; }
.payroll-summary-card.is-paid .payroll-summary-icon { background:#e8f7ef; color:#15985d; }
.payroll-summary-card.is-pending .payroll-summary-icon { background:#fff4d7; color:#9a6a00; }
.payroll-summary-card > span:last-child { display:block; min-width:0; }
.payroll-summary-card small,.payroll-summary-card em { display:block; color:#718497; font-size:11px; font-style:normal; }
.payroll-summary-card strong { display:block; margin:3px 0; color:#18364f; font-size:19px; line-height:1.25; overflow-wrap:anywhere; }
.payroll-section { margin:0 0 15px; padding:18px; border-color:#e0eaf2; box-shadow:0 7px 24px rgba(35,67,96,.05); }
.payroll-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:15px; }
.payroll-section-heading h2 { margin:0; color:#18364f; font-size:17px; font-weight:800; }
.payroll-section-heading p { margin:5px 0 0; color:#718497; font-size:12px; line-height:1.5; }
.payroll-grid { grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(160px,1fr)) auto; }
.payroll-grid > div { min-width:0; }
.payroll-grid .btn { min-height:40px; white-space:nowrap; }
.payroll-inline-note { margin:9px 0 0; color:#788b9c; font-size:11px; }
.payroll-subheading { margin:20px 0 9px; color:#40566b; font-size:13px; }
.payroll-table-wrap { width:100%; overflow-x:auto; }
.payroll-table { min-width:620px; }
.payroll-action-column { text-align:right; white-space:nowrap; }
.payroll-empty { padding:20px 10px !important; color:#718497; }
.payroll-period-form { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.payroll-period-form > div { min-width:180px; }
.payroll-period-form label { display:block; }
.payroll-period-form .form-control,.payroll-period-form .btn { min-height:40px; }
.payroll-period-form .payroll-inline-note { align-self:center; }
.payroll-card { padding:17px; }
.payroll-card-head > div:first-child { min-width:180px; }
.payroll-card-head > div:first-child strong { color:#193a55; font-size:16px; }
.payroll-card-head > div:first-child small { display:inline-block; margin-top:4px; color:#718497; }
.payroll-card-actions { display:flex; align-items:center; gap:8px; }
.payroll-card-actions .btn { white-space:nowrap; }
.payroll-data { grid-template-columns:repeat(4,minmax(0,1fr)); }
.payroll-data > div.is-net { background:#eaf6fd; }
.payroll-data > div.is-net strong { color:#096eae; }
.payroll-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:12px; border-top:1px solid #edf1f5; }
.payroll-card-footer > div { display:flex; gap:7px; flex-wrap:wrap; }
.payroll-validation-note { color:#9a6a00; font-size:12px; font-weight:700; }
.payroll-paid-note { padding:10px 12px; border:1px solid #cdebd9; border-radius:8px; background:#effaf3; color:#177345; font-size:12px; }
.payroll-paid-note a { margin-left:4px; font-weight:800; text-decoration:underline; }
.payroll-empty-state { display:flex; align-items:center; flex-direction:column; padding:38px 12px; border:1px dashed #d7e3ec; border-radius:10px; color:#7a8d9e; text-align:center; }
.payroll-empty-state i { margin-bottom:10px; color:#9bb0c1; font-size:27px; }
.payroll-empty-state strong { color:#40566b; font-size:14px; }
.payroll-empty-state span { margin-top:5px; font-size:12px; }
.payroll-page .help-block { margin:6px 0 0; font-size:11px; }
@media(max-width:1000px) { .payroll-summary-grid { grid-template-columns:1fr 1fr; } .payroll-summary-card:first-child { grid-column:1/-1; } .payroll-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .payroll-data { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .payroll-page-heading { align-items:flex-start; flex-direction:column; } .payroll-period-badge { width:100%; } .payroll-summary-grid { grid-template-columns:1fr; } .payroll-summary-card:first-child { grid-column:auto; } .payroll-section { padding:13px; } .payroll-grid { grid-template-columns:1fr; } .payroll-period-form { align-items:stretch; flex-direction:column; } .payroll-period-form > div,.payroll-period-form > .btn { width:100%; } .payroll-card { padding:13px; } .payroll-card-footer { align-items:stretch; flex-direction:column; } .payroll-card-footer > div { flex-direction:column; } .payroll-card-footer .btn { width:100%; } .payroll-card-actions { flex-wrap:wrap; } }
/* Shared DataTables presentation for every page. */
.dataTables_wrapper { color: #52697d; font-size: 13px; }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter { margin: 0 0 14px; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select { min-height: 34px; border: 1px solid #dce6ef; border-radius: 7px; padding: 5px 9px; background: #fff; }
.dataTables_wrapper .dataTables_filter input { margin-left: 7px; }
.dataTables_wrapper .dataTables_info { padding-top: 12px; color: #718096; }
.dataTables_wrapper .pagination { margin: 8px 0 0; }
.dataTables_wrapper .pagination > li > a,
.dataTables_wrapper .pagination > li > span { border-radius: 6px; margin: 0 2px; }
table.dataTable { width: 100% !important; margin: 0 !important; }
table.dataTable thead th { background: #f5f8fb; color: #496176; font-size: 11px; font-weight: 800; letter-spacing: .035em; vertical-align: middle; }
table.dataTable tbody td { vertical-align: middle; }
.dataTables_wrapper .dataTables_processing { border: 1px solid #e2ebf3; border-radius: 8px; background: #fff; box-shadow: 0 6px 20px rgba(20,56,87,.08); }
.dataTables_wrapper .dataTables_paginate .paginate_button { border: 0 !important; background: transparent !important; padding: 0 !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button a { border: 1px solid #dce6ef; }
.dataTables_wrapper .dataTables_paginate .paginate_button.active a { border-color: #0b82d9; background: #0b82d9; color: #fff; }
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled a { color: #a4b2bf; }
.expense-edit-form .form-group { margin-bottom: 18px; }
.expense-edit-form label { display: block; margin-bottom: 7px; color: #4e657b; font-weight: 700; }
.expense-edit-form [hidden] { display: none !important; }
.expense-page-heading { align-items:center; }
.expense-page-heading .btn { flex:0 0 auto; border-radius:8px; font-weight:800; }
.expense-page-notice { margin-bottom:14px; }
.expense-page-notice:empty { display:none; }
.expense-page-notice .alert { margin:0; }
.expense-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px; }
.expense-summary-card { display:flex; align-items:center; gap:13px; min-width:0; padding:16px; border:1px solid #e0eaf2; border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(35,67,96,.05); }
.expense-summary-icon { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:#eaf6fd; color:#087dcc; font-size:17px; }
.expense-summary-card.is-cash .expense-summary-icon { background:#e9f8f0; color:#168450; }
.expense-summary-card.is-noncash .expense-summary-icon { background:#fff4dc; color:#9a6800; }
.expense-summary-card > div { min-width:0; }
.expense-summary-card small { display:block; color:#708497; font-size:10px; font-weight:800; letter-spacing:.045em; }
.expense-summary-card strong { display:block; margin:5px 0 3px; overflow:hidden; color:#18364f; font-size:20px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.expense-summary-card span:not(.expense-summary-icon) { color:#8796a4; font-size:11px; }
.expense-panel { margin:0 0 24px; overflow:hidden; border:1px solid #e0eaf2; border-radius:13px; background:#fff; box-shadow:0 6px 20px rgba(31,66,97,.05); }
.expense-panel > .panel-heading { padding:16px 18px; border-bottom:1px solid #e8eef4; background:#fff; color:#18364f; }
.expense-panel-heading { display:flex; align-items:center; justify-content:space-between; }
.expense-panel-heading strong { font-size:14px; font-weight:800; }
.expense-panel-heading p { margin:5px 0 0; color:#788b9c; font-size:12px; }
.expense-panel > .panel-body { padding:16px 18px; }
.expense-filter { display:grid; grid-template-columns:minmax(170px,220px) minmax(170px,220px) auto; align-items:end; gap:12px; padding:14px; margin-bottom:16px; border:1px solid #e4ecf3; border-radius:10px; background:#f8fbfd; }
.expense-filter .form-group { margin:0; }
.expense-filter label, .expense-form label { display:block; margin-bottom:6px; color:#4e657b; font-size:12px; font-weight:800; }
.expense-filter .form-control, .expense-form .form-control { min-height:40px; border-color:#d7e3ee; border-radius:8px; box-shadow:none; }
.expense-filter .form-control:focus, .expense-form .form-control:focus { border-color:#1687d4; box-shadow:0 0 0 3px rgba(22,135,212,.12); }
.expense-filter-actions { display:flex; align-items:center; gap:8px; align-self:start; margin-top:23px; }
.expense-filter-actions .btn { min-height:40px; border-radius:8px; font-weight:700; }
.expense-table-wrap { overflow-x:auto; }
.expense-table { min-width:1050px; margin:0 !important; }
.expense-table th:nth-child(1) { min-width:130px; }
.expense-table th:nth-child(3) { min-width:180px; }
.expense-table th:nth-child(5) { min-width:135px; }
.expense-table th:nth-child(6) { min-width:170px; }
.expense-table tbody td { vertical-align:middle; }
.expense-amount { color:#18364f; font-weight:800; white-space:nowrap; }
.expense-category-label, .expense-method-label { display:inline-block; padding:5px 8px; border-radius:20px; background:#edf4fa; color:#496176; font-size:10px; font-weight:800; white-space:nowrap; }
.expense-method-label.is-transfer { background:#e9f5ff; color:#17689b; }
.expense-method-label.is-qris { background:#f0edff; color:#5c4aa1; }
.expense-method-label.is-debit { background:#fff4dc; color:#8b6100; }
.expense-method-label.is-cash { background:#e9f8f0; color:#168450; }
.expense-row-actions { min-width:150px; white-space:nowrap; }
.expense-row-actions form { display:inline-block; margin:0; vertical-align:middle; }
.expense-row-actions .btn { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; margin:1px; border-radius:7px; }
.expense-standalone-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:16px; margin-top:8px; border-top:1px solid #e8eef4; }
.expense-protected-label { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; color:#8193a2; }
.expense-modal-loading { padding:24px; color:#6f8294; text-align:center; }
.expense-form-intro { margin:0 0 14px; color:#71869a; font-size:13px; line-height:1.5; }
.expense-form .form-group { margin-bottom:16px; }
.expense-form .input-group-addon, .expense-edit-form .input-group-addon { border-color:#d7e3ee; border-radius:8px 0 0 8px; background:#f5f9fc; color:#596f83; font-weight:700; }
.expense-form .input-group .form-control, .expense-edit-form .input-group .form-control { border-radius:0 8px 8px 0; }
.expense-form textarea.form-control { min-height:82px; resize:vertical; }
.expense-form-notice:empty { display:none; }
.expense-form-notice { margin:0 0 12px; }
.expense-form-notice .alert { margin:0; }
.expense-form [hidden], .expense-edit-form [hidden] { display:none !important; }
.expense-form .bukti-transfer-wrap, .expense-edit-form .bukti-transfer-wrap { padding:13px; border:1px dashed #c9d9e6; border-radius:9px; background:#f8fbfd; }
.expense-form .bukti-transfer-wrap small, .expense-edit-form .bukti-transfer-wrap small { display:block; margin-top:6px; line-height:1.5; }
.expense-detail { padding:3px 0 8px; color:#263b4d; }
.expense-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:4px 0 16px; margin-bottom:16px; border-bottom:1px solid #e7edf2; }
.expense-detail-head h3 { margin:8px 0 4px; color:#193a55; font-size:20px; font-weight:800; }
.expense-detail-head p { margin:0; color:#71869a; font-size:12px; }
.expense-detail-amount { flex:0 0 auto; color:#18364f; font-size:20px; white-space:nowrap; }
.expense-detail-grid { display:grid; grid-template-columns:1fr 2fr; gap:16px; }
.expense-detail-grid > div { min-width:0; }
.expense-detail-grid small { display:block; margin-bottom:6px; color:#8695a2; font-size:10px; font-weight:800; letter-spacing:.04em; }
.expense-detail-grid > div > span:not(.expense-method-label) { color:#3f596f; line-height:1.55; overflow-wrap:anywhere; }
.expense-detail-proof { grid-column:1/-1; }
.expense-detail-proof .btn { border-radius:7px; }
@media(max-width:900px) { .expense-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .expense-filter { grid-template-columns:repeat(2,minmax(0,1fr)); } .expense-filter-actions { grid-column:1/-1; margin-top:0; } }
@media(max-width:600px) { .expense-page-heading { align-items:flex-start; flex-direction:column; } .expense-page-heading .btn { width:100%; } .expense-summary-grid { grid-template-columns:1fr; gap:9px; } .expense-summary-card { padding:13px; } .expense-summary-card strong { font-size:18px; } .expense-filter { grid-template-columns:1fr; gap:10px; } .expense-filter-actions { grid-column:auto; } .expense-filter-actions .btn { flex:1; } .expense-panel > .panel-body { padding:12px; } .expense-detail-head { flex-direction:column; gap:8px; } .expense-detail-amount { font-size:16px; } .expense-detail-grid { grid-template-columns:1fr; gap:12px; } .expense-detail-proof { grid-column:auto; } }
.report-filter-actions { padding-top:25px; }
.expense-form .bukti-transfer-wrap:not([hidden]), .expense-edit-form .bukti-transfer-wrap:not([hidden]) { display:block; }
.report-loading { padding:30px; }
.actions-nowrap { white-space:nowrap; }
.form-loading { padding:20px; }
.bukti-transfer-wrap { display:none; margin-top:10px; }
.purchase-page { padding:24px 28px 34px; color:#213b52; }
.purchase-page-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 20px; }
.purchase-page-heading h1 { margin:8px 0 5px; color:#18364f; font-size:29px; font-weight:800; }
.purchase-page-heading p { margin:0; color:#71869a; font-size:14px; }
.purchase-page-heading > .btn { flex:0 0 auto; min-height:42px; padding:10px 16px; border-radius:8px; font-weight:800; }
.purchase-breadcrumb { display:flex; align-items:center; gap:9px; color:#8294a4; font-size:12px; }
.purchase-breadcrumb a { color:#68849b; }
.purchase-notice { margin:0 0 15px; border-radius:9px; }
.purchase-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.purchase-summary-card { display:flex; align-items:center; gap:14px; min-width:0; padding:18px; border:1px solid #e0eaf2; border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(31,66,97,.045); }
.purchase-summary-icon { display:flex; flex:0 0 46px; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px; font-size:19px; }
.purchase-summary-icon.is-purchase { background:#eaf5ff; color:#1687d4; }
.purchase-summary-icon.is-payment { background:#e9f8f0; color:#159660; }
.purchase-summary-icon.is-debt { background:#fff4df; color:#a96d00; }
.purchase-summary-card > div { display:flex; flex-direction:column; min-width:0; gap:4px; }
.purchase-summary-card small { color:#7c8fa0; font-size:10px; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.purchase-summary-card strong { overflow:hidden; color:#18364f; font-size:22px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.purchase-summary-card span:not(.purchase-summary-icon) { color:#8091a0; font-size:11px; }
.purchase-panel { overflow:hidden; margin:0 0 16px; border:1px solid #e0eaf2; border-radius:13px; background:#fff; box-shadow:0 6px 20px rgba(31,66,97,.045); }
.purchase-panel > .panel-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 20px; border-bottom:1px solid #e7eef4; background:#fff; }
.purchase-panel-heading h2 { margin:0; color:#18364f; font-size:16px; font-weight:800; }
.purchase-panel-heading h2 i { margin-right:6px; color:#1687d4; }
.purchase-panel-heading p { margin:5px 0 0; color:#8091a0; font-size:12px; }
.purchase-panel > .panel-body { padding:17px 19px; }
.purchase-filter { display:grid; grid-template-columns:minmax(170px,230px) minmax(170px,230px) auto; align-items:end; gap:12px; margin-bottom:17px; padding:15px; border:1px solid #e1eaf1; border-radius:10px; background:#f7fafc; }
.purchase-filter-field label { display:block; margin:0 0 6px; color:#536c80; font-size:11px; font-weight:800; }
.purchase-filter .form-control, .purchase-form .form-control { height:41px; border-color:#d7e3ec; border-radius:8px; box-shadow:none; }
.purchase-filter .form-control:focus, .purchase-form .form-control:focus { border-color:#1687d4; box-shadow:0 0 0 3px rgba(22,135,212,.1); }
.purchase-filter-actions { display:flex; align-items:center; gap:8px; }
.purchase-filter-actions .btn { min-height:41px; padding:9px 14px; border-radius:8px; font-weight:800; white-space:nowrap; }
.purchase-table-wrap { width:100%; overflow-x:auto; }
.purchase-table { min-width:880px; margin:0 !important; }
.purchase-table > thead > tr > th, .purchase-detail-table > thead > tr > th, .purchase-payment-table > thead > tr > th { padding:11px 10px; border-color:#d5e3ed; background:#eef6fb; color:#42617a; font-size:10px; font-weight:800; text-transform:uppercase; white-space:nowrap; }
.purchase-table > tbody > tr > td, .purchase-detail-table > tbody > tr > td, .purchase-payment-table > tbody > tr > td { padding:10px; border-color:#e8eef3; color:#29465e; vertical-align:middle; }
.purchase-invoice { display:inline-block; padding:5px 8px; border-radius:6px; background:#eaf5ff; color:#1673b4; font-size:11px; font-weight:800; white-space:nowrap; }
.purchase-money { font-weight:700; white-space:nowrap; }
.purchase-money.is-outstanding, .purchase-detail-totals .is-balance strong { color:#b94848; }
.purchase-status { display:inline-flex; align-items:center; justify-content:center; min-width:82px; padding:5px 9px; border-radius:20px; font-size:10px; font-weight:800; white-space:nowrap; }
.purchase-status.is-paid { background:#e7f7ee; color:#16804d; }
.purchase-status.is-partial { background:#fff4d9; color:#966500; }
.purchase-status.is-unpaid { background:#fdeaea; color:#b63c3c; }
.purchase-row-actions { min-width:95px; white-space:nowrap; }
.purchase-row-actions .btn { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; margin:1px; padding:5px 8px; border-radius:7px; }
.purchase-debt-panel .purchase-table { min-width:950px; }
.purchase-debt-total { flex:0 0 auto; color:#b94848; font-size:19px; font-weight:800; white-space:nowrap; }
.purchase-age { display:inline-block; padding:5px 9px; border:1px solid #dbe5ec; border-radius:20px; background:#fff; color:#50677a; font-size:10px; font-weight:800; white-space:nowrap; }
.purchase-age.is-aging { border-color:#f1d78e; background:#fff3cd; color:#795900; }
.purchase-age.is-overdue { border-color:#e89b9b; background:#f8d7da; color:#8f2029; }
.purchase-form { color:#29465e; }
.purchase-form-intro { margin:0 0 15px; color:#71869a; font-size:12px; line-height:1.55; }
.purchase-form .form-group { margin-bottom:13px; }
.purchase-form label { display:block; margin-bottom:6px; color:#536c80; font-size:11px; font-weight:800; }
.purchase-form-notice { margin-bottom:13px; }
.purchase-form-notice .alert { margin:0; border-radius:8px; }
.purchase-detail-wrap { margin-bottom:9px; }
.purchase-detail-table { min-width:790px; margin:0 !important; }
.purchase-detail-table .form-control { min-width:72px; }
.purchase-detail-table select.form-control { min-width:210px; }
.purchase-detail-table .purchase-unit { color:#566f82; font-weight:700; text-align:center; }
.purchase-detail-table .HapusBaris { min-width:30px; }
.purchase-detail-table .HapusBaris:disabled { cursor:not-allowed; opacity:.45; }
.purchase-form-bottom { margin-top:16px; }
.purchase-form .bukti-transfer-wrap { display:none; margin:0 15px 12px; padding:12px; border:1px dashed #c9d9e6; border-radius:9px; background:#f7fafc; }
.purchase-form .bukti-transfer-wrap small { display:block; margin-top:6px; color:#71869a; font-size:11px; }
.purchase-modal-total { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:13px 15px; border-radius:9px; background:#eaf6fd; color:#536c80; }
.purchase-modal-total strong { color:#18364f; font-size:18px; }
.purchase-modal-loading { padding:28px; color:#74899a; text-align:center; }
.purchase-detail-page-content { max-width:1100px; margin:0 auto; }
.purchase-detail-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin:0 0 17px; padding:2px 0 15px; border-bottom:1px solid #e8eef3; }
.purchase-detail-kicker { color:#8193a2; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.purchase-detail-heading h3 { margin:4px 0; color:#18364f; font-size:21px; font-weight:800; }
.purchase-detail-heading p { margin:0; color:#71869a; font-size:12px; }
.purchase-detail-note { margin-bottom:14px; padding:12px 14px; border-radius:8px; background:#f6f9fb; }
.purchase-detail-note strong { color:#536c80; font-size:11px; }
.purchase-detail-note p { margin:5px 0 0; color:#29465e; line-height:1.55; }
.purchase-detail-totals { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin:13px 0 23px; }
.purchase-detail-totals > div { display:flex; flex-direction:column; gap:5px; min-width:0; padding:11px; border:1px solid #e5edf3; border-radius:8px; background:#fbfcfd; }
.purchase-detail-totals span { color:#778b9b; font-size:10px; }
.purchase-detail-totals strong { color:#24435c; font-size:14px; white-space:nowrap; }
.purchase-detail-totals .is-total { background:#edf7fd; }
.purchase-detail-totals .is-total strong { color:#1673b4; }
.purchase-history-heading { margin:0 0 10px; }
.purchase-history-heading h4 { margin:0; color:#18364f; font-size:14px; font-weight:800; }
.purchase-history-heading p { margin:4px 0 0; color:#8193a2; font-size:11px; }
.purchase-payment-table { min-width:740px; margin:0 !important; }
.purchase-payment-table .btn { border-radius:6px; }
.purchase-form [hidden], .purchase-page [hidden] { display:none !important; }
@media(max-width:900px) { .purchase-page { padding:18px 18px 28px; } .purchase-summary-grid { grid-template-columns:1fr; gap:9px; } .purchase-summary-card { padding:13px; } .purchase-summary-card strong { font-size:19px; } .purchase-detail-totals { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .purchase-page { padding:15px 12px 22px; } .purchase-page-heading { align-items:flex-start; flex-direction:column; } .purchase-page-heading > .btn { width:100%; } .purchase-page-heading h1 { font-size:24px; } .purchase-panel > .panel-heading, .purchase-panel > .panel-body { padding:13px; } .purchase-filter { grid-template-columns:1fr; gap:10px; } .purchase-filter-actions { display:flex; } .purchase-filter-actions .btn { flex:1; } .purchase-debt-total { font-size:15px; } .purchase-detail-heading { flex-direction:column; } .purchase-detail-totals { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.purchase-section-title { margin-top:30px; }
.purchase-history-title { margin-top:20px; }
.purchase-total { margin-top:15px; }
.supplier-legacy-note { font-size:11px; }
.customer-option-empty { padding:8px; }
.transaksi-edit-actions { margin-top:18px; }
.transaksi-edit-panel { margin-top:15px; }
.transaksi-edit-payments { margin-bottom:0; }
.transaksi-edit-payments th:first-child { width:180px; }
.transaction-detail-actions { margin-top:15px; padding:10px 0; }

/* Shared modal edit form controls. */
.edit-form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:18px; padding-top:14px; border-top:1px solid #e5edf5; }
.edit-form-actions .edit-form-response { flex:1 1 220px; min-width:0; }
.edit-form-actions .alert { margin:0; }
.edit-form-actions button { white-space:nowrap; }

/* Customer directory and customer-specific pricing. */
.customer-page-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.customer-page-heading .btn { flex:0 0 auto; }
.customer-page-notice:empty, .customer-price-notice:empty { display:none; }
.customer-page-notice { margin-bottom:14px; }
.customer-page-notice .alert, .customer-price-notice .alert { margin:0; }
.customer-workspace { display:grid; grid-template-columns:minmax(285px, 340px) minmax(0, 1fr); gap:16px; align-items:start; }
.customer-workspace .panel { margin:0; overflow:hidden; border:1px solid #e0eaf2; border-radius:13px; background:#fff; box-shadow:0 6px 20px rgba(31,66,97,.05); }
.customer-workspace .panel-heading { padding:16px 18px; border-bottom:1px solid #e8eef4; background:#fff; color:#18364f; }
.customer-workspace .panel-heading > strong { font-size:14px; font-weight:800; }
.customer-workspace .panel-heading > p, .customer-list-heading p { margin:5px 0 0; color:#788b9c; font-size:12px; line-height:1.5; }
.customer-price-panel { position:sticky; top:15px; }
.customer-price-panel .panel-body { padding:18px; }
.customer-price-panel .form-group { margin-bottom:15px; }
.customer-price-panel label, .customer-form label { display:block; margin-bottom:7px; color:#4a6277; font-size:12px; font-weight:800; }
.customer-price-panel .form-control, .customer-form .form-control { min-height:42px; border-color:#d7e3ee; border-radius:8px; box-shadow:none; }
.customer-price-panel .form-control:focus, .customer-form .form-control:focus { border-color:#1590dc; box-shadow:0 0 0 3px rgba(21,144,220,.12); }
.customer-price-panel select.form-control { padding-right:28px; }
.customer-price-panel .input-group-addon { border-color:#d7e3ee; border-radius:8px 0 0 8px; background:#f5f9fc; color:#596f83; font-weight:700; }
.customer-price-panel .input-group .form-control { border-radius:0 8px 8px 0; }
.customer-price-panel .btn { min-height:42px; border-radius:8px; font-weight:800; }
.customer-price-help, .customer-price-hint { margin:10px 0 0; color:#788b9c; font-size:11px; line-height:1.55; }
.customer-price-hint { min-height:18px; margin:0 0 12px; }
.customer-price-help i { margin-right:4px; color:#1687d4; }
.customer-list-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.customer-list-heading p { font-weight:400; }
.customer-list-panel .panel-body { padding:16px; }
.customer-table-wrap { overflow-x:auto; }
.customer-table { min-width:700px; margin:0 !important; }
.customer-table th:nth-child(1) { width:58px; }
.customer-table th:nth-child(3) { min-width:155px; }
.customer-table th:nth-child(4) { min-width:190px; }
.customer-table tbody td { vertical-align:middle; }
.customer-table tbody td:nth-child(2) { color:#193a55; font-weight:700; }
.customer-table tbody td:nth-child(4) { color:#60778a; line-height:1.55; }
.customer-row-actions { display:flex; justify-content:center; gap:6px; white-space:nowrap; }
.customer-row-actions .btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:1px solid #dce6ef; border-radius:8px; background:#fff; color:#3b5e78; }
.customer-row-actions .btn:hover, .customer-row-actions .btn:focus { border-color:#1687d4; background:#eef8ff; color:#087dcc; }
.customer-modal-loading { padding:24px; color:#6f8294; text-align:center; }
.customer-form-intro { margin:0 0 16px; color:#71869a; font-size:13px; line-height:1.55; }
.customer-form .form-group { margin-bottom:15px; }
.customer-form .help-block { margin:5px 0 0; color:#8293a2; font-size:11px; line-height:1.5; }
.customer-form .customer-textarea { min-height:100px; resize:vertical; }
.customer-field-hint { display:block; min-height:16px; margin-top:5px; font-size:11px; }
.customer-field-hint.is-error { color:#c73d3d; font-weight:700; }
.customer-field-hint.is-success { color:#168450; }
.customer-detail { padding:2px 0 8px; color:#263b4d; }
.customer-detail-head { display:flex; align-items:flex-start; gap:13px; padding:5px 0 16px; margin-bottom:16px; border-bottom:1px solid #e7edf2; }
.customer-detail-avatar { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; background:#eaf6fd; color:#087dcc; font-size:17px; }
.customer-detail-copy { flex:1 1 auto; min-width:0; }
.customer-detail-copy h3 { margin:0 0 5px; color:#193a55; font-size:19px; font-weight:800; }
.customer-detail-copy p { margin:4px 0 0; color:#71869a; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.customer-detail-head > .label { flex:0 0 auto; padding:6px 9px; border-radius:20px; }
.customer-detail-section-heading { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; }
.customer-detail-section-heading h4 { margin:0 0 4px; color:#193a55; font-size:14px; font-weight:800; }
.customer-detail-section-heading p { margin:0; color:#8392a0; font-size:11px; }
.customer-detail-table-wrap { overflow-x:auto; border:1px solid #e4ebf1; border-radius:9px; }
.customer-detail-table { min-width:720px; margin:0 !important; }
.customer-detail-table > thead > tr > th { color:#546d82; font-size:10px; font-weight:800; }
.customer-detail-table > tbody > tr > td { vertical-align:middle; }
.customer-price-category { display:inline-block; padding:5px 8px; border-radius:20px; background:#edf4fa; color:#496176; font-size:10px; font-weight:800; white-space:nowrap; }
.customer-price-category.is-special { background:#fff2d4; color:#8b6100; }
.customer-detail-empty { padding:26px 12px !important; color:#778a9c; text-align:center; }
.customer-detail-empty i, .customer-detail-empty strong, .customer-detail-empty span { display:block; }
.customer-detail-empty i { margin-bottom:8px; color:#91a4b5; font-size:22px; }
.customer-detail-empty strong { color:#38536a; font-size:13px; }
.customer-detail-empty span { margin-top:4px; font-size:11px; }
@media(max-width:1050px) { .customer-workspace { grid-template-columns:minmax(250px, 310px) minmax(0,1fr); gap:12px; } .customer-list-panel .panel-body { padding:12px; } }
@media(max-width:850px) { .customer-workspace { grid-template-columns:1fr; } .customer-price-panel { position:static; } }
@media(max-width:600px) { .customer-page-heading { align-items:flex-start; flex-direction:column; } .customer-page-heading .btn { width:100%; } .customer-workspace .panel-heading, .customer-list-panel .panel-body { padding:13px; } .customer-detail-head { flex-wrap:wrap; } .customer-detail-head > .label { margin-left:55px; } }

/* Supplier list and modal forms. */
.supplier-page { padding-bottom:24px; }
.supplier-page-heading { align-items:center; }
.supplier-page-heading > .btn { white-space:nowrap; }
.supplier-page-notice:not(:empty) { margin:0 0 14px; }
.supplier-page-notice .alert { margin-bottom:0; }
.supplier-list-panel > .panel-heading { display:flex; align-items:center; min-height:58px; }
.supplier-list-heading > div { min-width:0; }
.supplier-list-heading strong { display:block; color:#18364f; font-size:14px; font-weight:800; }
.supplier-list-heading p { margin:5px 0 0; color:#788b9c; font-size:12px; font-weight:400; }
.supplier-list-panel .panel-body { padding:16px 18px; }
.supplier-table-wrap { width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
.supplier-table { min-width:780px; }
.supplier-table > thead > tr > th:first-child, .supplier-table > tbody > tr > td:first-child { text-align:center; }
.supplier-table > tbody > tr > td { vertical-align:middle; }
.supplier-table > tbody > tr > td:nth-child(2) { color:#213e56; font-weight:700; }
.supplier-row-actions { display:flex; align-items:center; justify-content:center; gap:5px; white-space:nowrap; }
.supplier-row-actions .btn { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border-radius:8px; }
.supplier-delete-note { margin:12px 0 0; color:#75889a; font-size:11px; }
.supplier-delete-note i { margin-right:4px; }
.supplier-modal-loading { padding:28px 12px; color:#718497; text-align:center; }
.supplier-form-intro { margin-bottom:16px; line-height:1.5; }
.supplier-form .form-group { margin-bottom:16px; }
.supplier-form .help-block { margin-bottom:0; font-size:11px; }
.supplier-form-textarea { min-height:88px; resize:vertical; }
.supplier-form-response:not(:empty) { margin-top:12px; }
.supplier-form-response .alert { margin-bottom:0; }
.supplier-edit-actions { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-top:4px; }
.supplier-edit-actions .supplier-form-response { flex:1 1 auto; min-width:0; }
.supplier-edit-actions .btn { flex:0 0 auto; }
.supplier-delete-name { padding:10px 12px; border:1px solid #e3ebf2; border-radius:8px; background:#f7fafc; color:#18364f; }
.supplier-detail-page .supplier-detail-panel > .panel-heading { display:flex; align-items:center; min-height:54px; }
.supplier-detail-page .supplier-detail-panel > .panel-body { padding:20px; }
.supplier-detail-page .supplier-detail { padding:0; }
.supplier-detail-page .supplier-detail-head h3 { color:#193a55; }

/* Supplier detail modal. */
.supplier-detail { padding:2px 0 8px; color:#263b4d; }
.supplier-detail-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; padding:4px 0 15px; border-bottom:1px solid #e7edf2; margin-bottom:15px; }
.supplier-detail-head h3 { margin:0 0 5px; font-size:20px; font-weight:800; }
.supplier-detail-head p { margin:0; color:#8191a0; font-size:12px; }
.supplier-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }
.supplier-summary-card { border:1px solid #e3ebf2; border-radius:11px; padding:14px; background:#fbfdff; }
.supplier-summary-card small { display:block; color:#8494a3; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.supplier-summary-card strong { display:block; margin-top:5px; font-size:18px; color:#17364f; }
.supplier-summary-card.danger strong { color:#d94a4a; }
.supplier-summary-card.success strong { color:#15985d; }
.supplier-section { margin-top:16px; }
.supplier-section h4 { margin:0 0 9px; font-size:14px; font-weight:800; }
.supplier-detail-table { width:100%; min-width:760px; }
.supplier-detail-scroll { overflow-x:auto; border:1px solid #e5edf3; border-radius:9px; }
.supplier-status { font-size:11px; font-weight:800; }
@media(max-width:700px) { .supplier-summary-grid { grid-template-columns:1fr; } .supplier-detail-head { flex-direction:column; } }
@media(max-width:600px) { .supplier-page-heading { align-items:flex-start; flex-direction:column; } .supplier-page-heading > .btn { width:100%; } .supplier-list-panel .panel-heading, .supplier-list-panel .panel-body, .supplier-detail-page .supplier-detail-panel > .panel-body { padding:13px; } .supplier-edit-actions { align-items:stretch; flex-direction:column; } .supplier-edit-actions .btn { width:100%; } }

/* Receivables and sales history. */
.piutang-page { padding-bottom:30px; }
.piutang-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 16px; }
.piutang-summary-card { display:flex; align-items:center; gap:13px; min-width:0; padding:16px; color:#263746; font:inherit; text-align:left; background:#fff; border:1px solid #dce7f0; border-radius:12px; box-shadow:0 5px 18px rgba(35,67,96,.05); cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.piutang-summary-card:hover, .piutang-summary-card:focus, .piutang-summary-card.is-selected { border-color:#1687d4; box-shadow:0 7px 20px rgba(20,113,177,.12); outline:0; }
.piutang-summary-card:hover { transform:translateY(-1px); }
.piutang-summary-card.is-warning.is-selected { border-color:#e0a800; }
.piutang-summary-card.is-danger.is-selected { border-color:#dc3545; }
.piutang-summary-icon { display:flex; flex:0 0 42px; align-items:center; justify-content:center; width:42px; height:42px; color:#087dcc; background:#eaf6fd; border-radius:12px; font-size:17px; }
.piutang-summary-card.is-warning .piutang-summary-icon { color:#946200; background:#fff4d4; }
.piutang-summary-card.is-danger .piutang-summary-icon { color:#c03939; background:#fff0f0; }
.piutang-summary-copy { display:block; min-width:0; }
.piutang-summary-copy small { display:block; color:#6f8294; font-size:10px; font-weight:800; letter-spacing:.04em; }
.piutang-summary-copy strong { display:block; margin:4px 0; overflow:hidden; color:#18354e; font-size:20px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.piutang-summary-copy em { color:#8192a2; font-size:11px; font-style:normal; }
.piutang-alert { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:0 0 15px; border-radius:10px; }
.piutang-alert.is-hidden { display:none; }
.piutang-panel .panel-heading { display:flex; align-items:center; min-height:54px; }
.piutang-toolbar { display:grid; grid-template-columns:minmax(170px,1fr) repeat(2,minmax(170px,1fr)) auto auto; gap:12px; align-items:end; margin:2px 0 18px; padding:16px; background:#f7fafc; border:1px solid #e1eaf2; border-radius:10px; }
.piutang-toolbar .form-group { min-width:0; margin:0; }
.piutang-toolbar label { display:block; margin-bottom:5px; color:#40566b; font-size:12px; font-weight:700; }
.piutang-toolbar .form-control, .piutang-toolbar > .btn { min-height:38px; }
.piutang-toolbar > .btn { white-space:nowrap; }
.piutang-table { min-width:950px; }
.piutang-table th { white-space:nowrap; }
.piutang-table-wrap { width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
.piutang-table-wrap::-webkit-scrollbar { height:8px; }
.piutang-table-wrap::-webkit-scrollbar-thumb { background:#b8c9d8; border-radius:8px; }
.piutang-table-wrap::-webkit-scrollbar-track { background:#edf3f8; border-radius:8px; }
.piutang-notice:not(:empty) { margin-bottom:14px; }
.piutang-nota { display:inline-block; background:#e55353; color:#fff; font-weight:700; padding:5px 10px; border-radius:15px; white-space:nowrap; }
.piutang-age { display:inline-flex; align-items:center; padding:4px 9px; border:1px solid #d9e2ec; border-radius:12px; background:#fff; color:#263746; font-weight:700; white-space:nowrap; }
.piutang-age--fresh { background:#fff; color:#263746; }
.piutang-age--warning { background:#ffc107; border-color:#e0a800; color:#212529; }
.piutang-age--danger { background:#dc3545; border-color:#c82333; color:#fff; }
.piutang-due { display:inline-block; font-weight:700; white-space:nowrap; }
.piutang-due.overdue { color:#d9534f; }
.piutang-due.today { color:#f0ad4e; }
.piutang-due.upcoming { color:#198754; }
.piutang-act { display:flex; align-items:center; justify-content:center; gap:5px; flex-wrap:nowrap; white-space:nowrap; }
.piutang-act .btn { height:32px; min-width:32px; padding:0 8px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; }
.piutang-act .btn-bayar { min-width:70px; gap:5px; font-size:11px; font-weight:700; }
.piutang-act .btn-danger { color:#fff; }
.piutang-act .btn:disabled { opacity:.65; cursor:not-allowed; }
.piutang-payment-summary { margin:0 0 16px; padding:10px 12px; color:#24415a; background:#f2f7fb; border:1px solid #dce7f0; border-radius:8px; font-weight:700; }
.piutang-payment-error:not(:empty) { margin-bottom:12px; }
.piutang-proof-group { display:none; }
.nota-status { display:block; width:100%; text-align:center; font-weight:700; padding:4px 8px; border-radius:5px; color:#fff; }
.nota-status.is-paid { background:#5cb85c; }
.nota-status.is-open { background:#d9534f; }
.nota-status.is-cancelled { background:#718096; }
.transaction-history-panel .panel-heading { display:flex; align-items:center; justify-content:space-between; min-height:54px; }
.transaction-history-toolbar { display:grid; grid-template-columns:minmax(150px,1.1fr) repeat(2,minmax(145px,1fr)) auto auto; gap:12px; align-items:end; margin:2px 0 18px; padding:16px; background:#f7fafc; border:1px solid #e1eaf2; border-radius:10px; }
.transaction-history-toolbar .form-group { margin:0; }
.transaction-history-toolbar label { display:block; margin-bottom:5px; color:#40566b; font-size:12px; font-weight:700; }
.transaction-history-toolbar .form-control { min-height:38px; }
.transaction-history-toolbar > .btn { min-height:38px; white-space:nowrap; }
.transaction-history-table { width:100%; min-width:0; table-layout:fixed; }
.transaction-history-panel .table-responsive { width:100%; overflow-x:hidden; overflow-y:hidden; }
.transaction-history-table th,
.transaction-history-table td { white-space:normal; overflow-wrap:anywhere; }
.transaction-history-table .transaction-history-action-header { width:110px; }
.transaction-history-status { display:inline-block; padding:5px 9px; border-radius:20px; font-size:11px; font-weight:700; white-space:nowrap; }
.transaction-history-status.is-paid { color:#176c43; background:#e6f5ec; }
.transaction-history-status.is-open { color:#875800; background:#fff2cc; }
.transaction-history-status.is-cancelled { color:#5f6872; background:#e9edf1; }
.transaction-history-actions { display:flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; }
.transaction-history-actions a { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; color:#526a7e; background:#fff; border:1px solid #dce6ef; border-radius:7px; text-decoration:none; }
.transaction-history-actions a:hover, .transaction-history-actions a:focus { color:#087dcc; border-color:#087dcc; outline:0; }
.transaction-history-actions a.js-cancel-transaction { color:#c13d3d; }
.transaction-history-notice:not(:empty) { margin-bottom:14px; }
@media (max-width:900px) { .transaction-history-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .transaction-history-toolbar { grid-template-columns:1fr; padding:12px; } .transaction-history-toolbar > .btn { width:100%; } }
@media (max-width:1000px) { .piutang-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .piutang-summary-grid { grid-template-columns:1fr; gap:9px; } .piutang-summary-card { padding:13px; } }
@media (max-width:560px) { .piutang-toolbar { grid-template-columns:1fr; padding:12px; } .piutang-toolbar > .btn { width:100%; } }

/* Checkout item table and typeahead. */
#TabelTransaksi { width:100%; table-layout:fixed; }
#TabelTransaksi th:nth-child(1), #TabelTransaksi td:nth-child(1) { width:55px; text-align:center; }
#TabelTransaksi th:nth-child(2), #TabelTransaksi td:nth-child(2) { width:230px; position:relative; overflow:visible !important; }
#TabelTransaksi th:nth-child(3), #TabelTransaksi td:nth-child(3) { width:190px; }
#TabelTransaksi th:nth-child(4), #TabelTransaksi td:nth-child(4), #TabelTransaksi th:nth-child(5), #TabelTransaksi td:nth-child(5), #TabelTransaksi th:nth-child(6), #TabelTransaksi td:nth-child(6) { width:110px; }
#TabelTransaksi th:nth-child(7), #TabelTransaksi td:nth-child(7) { width:82px; text-align:center; }
#TabelTransaksi th:nth-child(8), #TabelTransaksi td:nth-child(8) { width:150px; }
#TabelTransaksi th:nth-child(9), #TabelTransaksi td:nth-child(9) { width:145px; }
#TabelTransaksi th:nth-child(10), #TabelTransaksi td:nth-child(10) { width:60px; }
#TabelTransaksi tbody td { vertical-align:middle; position:relative; overflow:visible; }
#TabelTransaksi tbody tr { height:58px; }
.pencarian_kode { width:100%; min-width:0; }
.hasil_pencarian { position:absolute !important; left:0; top:calc(100% - 1px); width:100%; min-width:230px; max-height:260px; overflow-y:auto; background:#fff; border:1px solid #ddd; border-radius:0 0 6px 6px; box-shadow:0 8px 20px rgba(0,0,0,.15); z-index:99999; }
#TabelTransaksi, #TabelTransaksi tbody, #TabelTransaksi tbody tr, #TabelTransaksi tbody td { overflow:visible !important; }
#TabelTransaksi .hasil_pencarian ul, #TabelTransaksi .hasil_pencarian #daftar-autocomplete { margin:0; padding:0; list-style:none; }
#TabelTransaksi .hasil_pencarian li { cursor:pointer; padding:9px 12px; border-bottom:1px solid #eee; }
#PesanTambahKonsumen { display:none; }
.transaction-total { margin-bottom:5px; text-align:right; }
.transaction-qty-unit { display:block; margin-top:3px; color:#70859a; text-align:center; font-size:11px; }
.unit-label-cell { font-weight:700; white-space:nowrap; }
.transaction-estimate-row { margin-left:-5px; margin-right:-5px; }
.transaction-estimate-row > [class*="col-"] { padding-left:5px; padding-right:5px; }
.transaction-estimate-input[readonly] { background:#fff; cursor:pointer; }
.transaction-estimate-trigger { cursor:pointer; }
.transaction-estimate-trigger:hover, .transaction-estimate-trigger:focus { color:#087dcc; background:#f4f9fd; }
.transaction-estimate-picker-anchor { position:relative; }
.transaction-estimate-picker { position:absolute; top:calc(100% + 5px); z-index:1050; padding:10px; color:#24384b; background:#fff; border:1px solid #d8e2ec; border-radius:6px; box-shadow:0 8px 22px rgba(21,45,67,.2); }
.transaction-estimate-calendar-panel { left:0; width:280px; }
.transaction-estimate-time-panel { right:0; width:220px; }
.transaction-estimate-calendar-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.transaction-estimate-calendar-header strong { font-size:14px; }
.transaction-estimate-calendar { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:2px; text-align:center; }
.transaction-estimate-weekday { padding:5px 0; color:#70859a; font-size:11px; font-weight:700; }
.transaction-estimate-day-empty { min-height:32px; }
.transaction-estimate-day { min-height:32px; padding:4px 0; color:#24384b; background:#fff; border:0; border-radius:4px; }
.transaction-estimate-day:hover, .transaction-estimate-day:focus { color:#fff; background:#1687d4; outline:0; }
.transaction-estimate-day.is-selected { color:#fff; background:#087dcc; font-weight:700; }
.transaction-estimate-time-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.transaction-estimate-time-fields label { display:block; margin-bottom:4px; font-size:12px; }
.transaction-estimate-time-panel .btn { margin:0; }
.btn-penawaran { color:#087dcc; background:#fff; border-color:#087dcc; font-weight:700; }
.btn-penawaran:hover:not(:disabled), .btn-penawaran:focus:not(:disabled) { color:#fff; background:#087dcc; }
#NotifikasiPenawaran .alert { margin-bottom:12px; }
.quotation-history-panel .panel-heading { display:flex; align-items:center; min-height:54px; }
.quotation-history-toolbar { display:grid; grid-template-columns:minmax(170px,1fr) repeat(2,minmax(170px,1fr)) auto auto; gap:12px; align-items:end; margin:2px 0 18px; padding:16px; background:#f7fafc; border:1px solid #e1eaf2; border-radius:10px; }
.quotation-history-toolbar .form-group { min-width:0; margin:0; }
.quotation-history-toolbar label { display:block; margin-bottom:5px; color:#40566b; font-size:12px; font-weight:700; }
.quotation-history-toolbar .form-control, .quotation-history-toolbar > .btn { min-height:38px; }
.quotation-history-toolbar > .btn { white-space:nowrap; }
.quotation-history-table { min-width:1080px; }
.quotation-history-table th { white-space:nowrap; }
.quotation-history-panel .table-responsive { width:100%; overflow-y:hidden; -webkit-overflow-scrolling:touch; }
.quotation-history-panel .table-responsive::-webkit-scrollbar { height:8px; }
.quotation-history-panel .table-responsive::-webkit-scrollbar-thumb { background:#b8c9d8; border-radius:8px; }
.quotation-history-panel .table-responsive::-webkit-scrollbar-track { background:#edf3f8; border-radius:8px; }
.quotation-number, .quotation-invoice-number { display:inline-block; padding:5px 8px; border-radius:6px; color:#fff; background:#d9534f; font-weight:700; white-space:nowrap; }
.quotation-invoice-number { background:#5cb85c; }
.quotation-status { display:inline-block; padding:6px 9px; border-radius:20px; font-size:11px; font-weight:700; white-space:nowrap; }
.quotation-status.is-pending { color:#825600; background:#fff0c2; }
.quotation-status.is-approved { color:#176c43; background:#e5f5eb; }
.quotation-status.is-cancelled { color:#a52b2b; background:#fde7e7; }
.quotation-status.is-neutral { color:#5f6872; background:#e9edf1; }
.quotation-history-actions { display:flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; }
.quotation-history-action { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:0 9px; color:#526a7e; background:#fff; border:1px solid #dce6ef; border-radius:7px; text-decoration:none !important; font-size:11px; font-weight:700; }
.quotation-history-action:hover, .quotation-history-action:focus { color:#087dcc; border-color:#087dcc; outline:0; }
.quotation-history-action.is-edit { color:#087dcc; border-color:#b8d7ed; }
.quotation-history-action.is-cancel { color:#c83e3e; border-color:#f0c5c5; }
.quotation-history-action.is-cancel:hover, .quotation-history-action.is-cancel:focus { color:#fff; background:#d9534f; border-color:#d9534f; }
.quotation-history-action.is-print-disabled, .quotation-history-action.is-print-disabled:hover, .quotation-history-action.is-print-disabled:focus { color:#8996a3; background:#edf1f4; border-color:#d7dee5; opacity:.6; cursor:not-allowed; }
.quotation-history-action.is-approve { color:#fff; background:#16a765; border-color:#16a765; }
.quotation-history-action.is-approve:hover, .quotation-history-action.is-approve:focus { color:#fff; background:#118a52; border-color:#118a52; }
.quotation-history-action:disabled { opacity:.65; cursor:not-allowed; }
.quotation-history-notice:not(:empty) { margin-bottom:14px; }
.quotation-approval-summary { line-height:1.55; }
.quotation-approval-summary p { margin:0 0 8px; }
.quotation-approval-summary p:last-child { margin-bottom:0; color:#687d90; }
.quotation-edit-page { max-width:1500px; padding-top:8px; }
.quotation-edit-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; }
.quotation-edit-heading h2 { margin:0 0 5px; color:#17324d; font-weight:700; }
.quotation-edit-heading p { margin:0; }
.quotation-edit-loading { padding:20px 12px; color:#60798f; text-align:center; }
.quotation-edit-modal > p { margin:0 0 14px; }
.quotation-edit-modal .quotation-edit-table { margin:12px 0 18px; }
.quotation-edit-panel { border-color:#dce7f0; border-radius:12px; overflow:hidden; box-shadow:0 10px 28px rgba(29,65,96,.06); }
.quotation-edit-panel > .panel-heading { padding:16px 20px; color:#18344f; background:#f6f9fc; border-color:#e1eaf2; }
.quotation-edit-panel > .panel-body { padding:20px; }
.quotation-edit-meta { display:flex; flex-wrap:wrap; gap:12px 40px; margin:0 0 16px; padding:13px 15px; background:#f5f9fc; border:1px solid #e2ebf3; border-radius:9px; }
.quotation-edit-meta div { display:flex; flex-direction:column; gap:3px; }
.quotation-edit-meta span { color:#72879a; font-size:12px; }
.quotation-edit-meta strong { color:#17324d; }
.quotation-edit-table { min-width:850px; margin:12px 0 18px; }
.quotation-edit-table th { white-space:nowrap; background:#f3f7fa; }
.quotation-edit-table td { vertical-align:middle !important; }
.quotation-edit-table td:first-child small { display:block; margin-top:3px; color:#6c8194; }
.quotation-edit-table .quotation-edit-price { min-width:150px; }
.quotation-edit-line-total { white-space:nowrap; font-weight:700; }
.quotation-edit-summary-row { display:flex; align-items:flex-end; flex-wrap:wrap; }
.quotation-edit-advance { color:#60798f; font-size:13px; }
.quotation-edit-advance strong { color:#17324d; }
.quotation-edit-total { display:flex; justify-content:space-between; gap:18px; padding:8px 12px; border-bottom:1px solid #e7eef4; }
.quotation-edit-total strong { color:#17324d; white-space:nowrap; }
.quotation-edit-total.is-remaining { margin-top:3px; color:#31506b; background:#eef7fc; border:0; border-radius:7px; font-weight:700; }
.quotation-edit-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-top:18px; padding-top:16px; border-top:1px solid #e5edf4; }
.quotation-edit-notice:not(:empty) { margin-bottom:14px; }
.quotation-edit-notice .alert { margin-bottom:0; }
@media (max-width:900px) { .quotation-history-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .quotation-history-toolbar { grid-template-columns:1fr; padding:12px; } .quotation-history-toolbar > .btn { width:100%; } }
@media (max-width:600px) { .quotation-edit-heading { align-items:flex-start; flex-direction:column; } .quotation-edit-actions .btn { flex:1 1 100%; } .quotation-edit-panel > .panel-body { padding:14px; } }
@media (max-width:767px) { #ModalGue .modal-dialog.modal-lg { width:auto; margin:10px; } .quotation-edit-table { min-width:800px; } }
@media (max-width:767px) {
  .transaction-estimate-calendar-panel { width:min(280px, calc(100vw - 32px)); }
  .transaction-estimate-time-panel { width:min(220px, calc(100vw - 32px)); }
}
.transaction-customer-dropdown { width:100%; position:relative; }
.transaction-customer-toggle { width:100%; height:42px; text-align:left; background:#fff; display:flex; align-items:center; justify-content:space-between; }
.transaction-customer-menu { width:100%; min-width:100%; padding:10px; margin-top:4px; max-height:320px; overflow-y:auto; box-sizing:border-box; }
.transaction-customer-search { width:100%; margin-bottom:8px; }
.transaction-customer-add { margin-bottom:8px; }
.transaction-customer-help { display:block; padding:6px 2px 0; }
#ModalTambahKonsumen .modal-dialog { width:min(750px, calc(100% - 24px)); margin:24px auto; }
#ModalTambahKonsumen .modal-content { display:flex; max-height:calc(100vh - 48px); flex-direction:column; overflow:hidden; }
#ModalTambahKonsumen .modal-header, #ModalTambahKonsumen .modal-footer { flex:0 0 auto; }
#ModalTambahKonsumen .modal-body { min-height:0; overflow-y:auto; }
.transaction-customer-prices-wrap { max-height:55vh; max-height:min(55vh, 560px); overflow:auto; overscroll-behavior:contain; }
.transaction-customer-prices { margin-bottom:0; }
.transaction-customer-prices th { position:sticky; top:0; z-index:2; white-space:nowrap; background:#f7f9fc; }
.transaction-customer-prices td { vertical-align:middle !important; }
.transaction-customer-prices .harga-barang-konsumen { min-width:120px; }
.transaction-customer-prices .kategori-harga-konsumen { min-width:100px; }
@media (max-width:767px) {
  #ModalTambahKonsumen .modal-dialog { width:auto; margin:12px; }
  #ModalTambahKonsumen .modal-content { max-height:calc(100vh - 24px); }
  .transaction-customer-prices-wrap { max-height:45vh; }
}
[hidden] { display:none !important; }
.customer-name-input-wrap { position:relative; }
.customer-name-suggestions { position:absolute; top:calc(100% + 3px); right:0; left:0; z-index:1051; max-height:190px; overflow-y:auto; border:1px solid #d9e2ec; border-radius:6px; background:#fff; box-shadow:0 8px 20px rgba(15,35,55,.16); }
.customer-name-suggestion { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; border:0; border-bottom:1px solid #edf1f5; background:#fff; color:#26384a; text-align:left; }
.customer-name-suggestion:last-child { border-bottom:0; }
.customer-name-suggestion:hover, .customer-name-suggestion:focus { background:#f0f6fc; outline:0; }
.customer-name-suggestion-details { display:flex; min-width:0; flex-wrap:wrap; align-items:baseline; gap:3px 10px; }
.customer-name-suggestion-name { font-weight:600; }
.customer-name-suggestion-phone, .customer-name-suggestion-empty { color:#697b8c; font-size:12px; }
.customer-name-suggestion-action { flex:0 0 auto; color:#337ab7; font-size:11px; white-space:nowrap; }
.customer-name-suggestion-empty { padding:9px 12px; }
.transaction-change-proof { padding-left:0; }
.transaction-panel-actions { margin-top:18px; }
.transaksi-edit-panel { margin-top:15px; }
.transaksi-edit-payments { margin-bottom:0; }
.transaksi-edit-payments th:first-child { width:180px; }

/* Standalone print slip and error pages. */
.slip-print-body { font:14px Arial,sans-serif; color:#222; background:#fff; margin:0; }
.slip-print { max-width:760px; margin:25px auto; border:1px solid #ddd; padding:28px; }
.slip-print h2, .slip-print-title { text-align:center; }
.slip-print h2 { margin:0; }
.slip-print table { width:100%; border-collapse:collapse; margin-top:24px; }
.slip-print td { padding:10px; border-bottom:1px solid #ddd; }
.slip-print .total { font-size:18px; font-weight:bold; }
.slip-print .muted { color:#666; }
.slip-print-actions { text-align:right; }
.slip-signatures { display:flex; justify-content:space-between; text-align:center; margin-top:45px; }
.slip-print-note { text-align:center; margin-top:35px; }
@media print { .slip-print-actions { display:none; } .slip-print { border:0; margin:0; } }
.standalone-error { margin:0; min-height:100vh; box-sizing:border-box; background:#f3f7fb; color:#19324b; font:16px/1.6 Arial,sans-serif; display:flex; align-items:center; justify-content:center; padding:24px; }
.error-card { max-width:620px; width:100%; background:#fff; border:1px solid #dce6ef; border-radius:14px; padding:36px; box-shadow:0 12px 35px rgba(20,50,80,.08); }
.error-card .code { font-size:56px; line-height:1; font-weight:700; color:#1675bd; margin:0 0 12px; }
.error-card .muted { color:#62788c; }
.error-card .btn { display:inline-block; margin-top:18px; padding:10px 16px; background:#1675bd; color:#fff; text-decoration:none; border-radius:7px; }
.error-general-body { margin:0; background:#f3f6fb; color:#1f2937; font:15px/1.6 Arial,sans-serif; padding:32px; }
.error-wrap { max-width:760px; margin:8vh auto; background:#fff; border:1px solid #e5eaf1; border-radius:12px; padding:28px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.error-wrap h1 { font-size:22px; margin:0 0 14px; color:#b42318; }
.error-wrap p { margin:0 0 12px; overflow-wrap:anywhere; }
.error-wrap .hint { color:#64748b; font-size:13px; margin-top:20px; }
.error-wrap .message { padding:14px; background:#fff7f6; border:1px solid #fee4e2; border-radius:8px; }
.nota-validation-body { font:16px Arial,sans-serif; background:#f2f6fa; margin:0; padding:24px; color:#18324b; }
.nota-validation-card { max-width:560px; margin:8vh auto; background:#fff; border:1px solid #dce6ef; border-radius:14px; padding:26px; box-shadow:0 8px 28px #18324b12; }
.nota-validation-status { font-weight:bold; padding:12px; border-radius:8px; }
.nota-validation-status.is-valid { background:#e8f7ef; color:#147a45; }
.nota-validation-status.is-invalid { background:#fff0f0; color:#b4232c; }
.nota-validation-card table { width:100%; border-collapse:collapse; margin-top:18px; }
.nota-validation-card td { padding:10px; border-bottom:1px solid #e8edf2; }
.nota-validation-card td:first-child { color:#60758a; width:42%; }
.nota-validation-card .small { color:#60758a; font-size:13px; }
@media (max-width:900px) { #TabelTransaksi { min-width:1150px; } }
