
.quick-operations {
	margin: 24px 0;
}

.quick-operations .section-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 100%;
	color: #FFFFFF;
	margin-bottom: 16px;
}

.quick-ops-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.quick-ops-card {
	flex: 0 1 340px;
	max-width: 340px;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 15px 16px 38px 16px;
	background: rgba(2, 43, 79, 0.8);
	border-radius: 4px;
}

.quick-ops-icon {
	width: 90px;
	height: 90px;
	border-radius: 10px;
	margin-bottom: 0;	/* spatiul pana la text vine din margin-top:auto pe titlu (text centrat intre icon si buton) */
	background-position: center;
	background-repeat: no-repeat;
	background-size: 60px 60px;
}

/* icon panels: colors + SVGs */
.quick-ops-icon-payments { background-color: #F2994A; background-image: url('../images/dashboard-ops/payments.svg'); }
.quick-ops-icon-claims   { background-color: #109CF1; background-image: url('../images/dashboard-ops/claims.svg'); }
.quick-ops-icon-renewal  { background-color: #005CA8; background-image: url('../images/dashboard-ops/renewal.svg'); }
.quick-ops-icon-travel   { background-color: #0CC05E; background-image: url('../images/dashboard-ops/travel.svg'); }
.quick-ops-icon-policies { background-color: #005CA8; background-image: url('../images/dashboard-ops/policies.svg'); }

/* margin-top:auto aici + margin-top:auto pe buton = blocul de text sta exact
   la mijloc intre icon si buton */
.quick-ops-card-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 100%;
	text-align: center;
	color: #FFFFFF;
	margin-top: auto;
	margin-bottom: 7px;
}

.quick-ops-card-count {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 100%;
	text-align: center;
	color: #FFFFFF;
	margin-bottom: 0;
}

/* cross-sell cards (ex: Asigurare de calatorie): randul 2 e Bold ca la celelalte
   carduri, dar 18px in loc de 20px ca sa incapa tot textul (Figma) */
.quick-ops-card-desc {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 100%;
	text-align: center;
	color: #FFFFFF;
	margin-bottom: 0;
}

.quick-ops-btn {
	min-width: 116px;
	height: 41px;	/* Figma: 40.87 */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #109CF1;
	color: #FFFFFF;
	border: none;
	border-radius: 4px;
	padding: 0 18px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 198%;
	text-align: center;
	text-transform: capitalize;
	margin-top: auto;
}

.quick-ops-btn:hover {
	background: #0d8ad8;
	color: #FFFFFF;
}

/* butonul cross-sell este un <a>; pastram aspectul de buton */
a.quick-ops-btn {
	text-decoration: none;
}

.quick-ops-cards .action-card {
	flex: 0 1 340px;
	max-width: 340px;
}

@media (max-width: 768px) {
	.quick-ops-cards {
		flex-direction: column;
	}

	.quick-ops-card,
	.quick-ops-cards .action-card {
		flex-basis: auto;
		max-width: 100%;
		min-height: 0;
		padding-bottom: 24px;
	}
}

/* Figma: titlul pop-up-ului sta pe acelasi rand cu X - golim header-ul */
.claims-status-modal-host .bm-header,
.due-payments-modal-host .bm-header,
.renewal-modal-host .bm-header {
	padding: 0;
	height: 0;
	min-height: 0;
}


.due-payments-modal-host .blazored-modal {
	max-width: 640px;	/* Figma container: 638px */
	width: 100%;
	border-radius: 4px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

.due-payments-modal {
	padding: 8px 8px 0 8px;
}

.due-payments-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 120%;
	color: #323232;
	margin-bottom: 4px;
}

.due-payments-subtitle {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 120%;
	color: #323232;
	margin-bottom: 16px;
}

.due-payments-list {
	max-height: 50vh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.due-payments-row {
	display: flex;
	align-items: center;
	gap: 14px;
	border: 1px solid rgba(101, 101, 101, 0.5);
	border-radius: 4px;
	padding: 16px 18px;	/* Figma row: 601x95 */
}

.due-payments-row-overdue {
	border-color: #E5554F;
}

.due-payments-row-icon {
	flex: 0 0 48px;
	width: 48px;
	height: 50px;
	border-radius: 4px;
	background: #109CF1 center / 28px 28px no-repeat;
}

.due-payments-row-info {
	flex: 1 1 auto;
	min-width: 0;
}

.due-payments-row-name {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 120%;
	color: #323232;
}

/* BUG_02: seria si numarul politei sub denumire, ca la Status dosare dauna */
.due-payments-row-policy {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 120%;
	color: #656565;
}

.due-payments-row-date {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 120%;
	color: #323232;
}

.due-payments-row-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

.due-payments-row-amount {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #323232;
	white-space: nowrap;
}

.due-payments-pay-btn {
	min-width: 139px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #F2994A;
	color: #FFFFFF;
	border: none;
	border-radius: 4px;
	padding: 0 16px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-transform: capitalize;
}

.due-payments-pay-btn:hover {
	background: #e08a3c;
	color: #FFFFFF;
}

/* actiune PAY_PREMIUM inactiva (ex: plata deja procesata) - buton vizibil dar dezactivat,
   la fel ca butonul PLATESTE din detaliile politei */
.due-payments-pay-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.due-payments-empty {
	text-align: center;
	color: #656565;
	padding: 16px 0;
}

.due-payments-footer {
	display: flex;
	justify-content: center;
	padding: 16px 0 8px 0;
}


.due-payments-close-btn,
.claims-status-close-btn,
.renewal-close-btn {
	min-width: 102px;
	height: 36px;
	border: 1px solid rgba(101, 101, 101, 0.5);
	background: transparent;
	color: #323232;
	border-radius: 4px;
	padding: 0 24px;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
}


.claims-status-modal-host .blazored-modal {
	max-width: 640px;
	width: 100%;
	border-radius: 4px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

.claims-status-modal {
	padding: 8px 8px 0 8px;
}

.claims-status-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 120%;
	color: #323232;
	margin-bottom: 12px;
	text-transform: none;
}

.due-payments-title,
.renewal-title {
	text-transform: none;
}

/* calendarele "De la - Pana la" aliniate dreapta, ca butoane cu contur */
.claims-status-filter {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.claims-date-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: 1px solid #005CA8;
	border-radius: 6px;
	padding: 3px 10px;
}

.claims-date-pill label {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #005CA8;
	margin: 0;
	cursor: pointer;
}

.claims-date-pill input[type="date"] {
	border: none;
	outline: none;
	background: transparent;
	font-size: 14px;
	color: transparent;	
	width: 26px;
	cursor: pointer;
}

.claims-date-pill.has-value input[type="date"] {
	color: #323232;	
	width: 120px;
}

.claims-date-sep {
	color: #005CA8;
	font-weight: 600;
}

.claims-status-list {
	max-height: 50vh;
	overflow-y: auto;
}

.claims-status-table {
	width: 100%;
	border-collapse: collapse;
}

.claims-status-table th {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 100%;
	color: #005CA8;
	text-align: left;
	padding: 8px;
	border-bottom: 1px solid rgba(101, 101, 101, 0.5);
	position: sticky;
	top: 0;
	background: #fff;
	white-space: nowrap;	/* "Tip polita" pe un singur rand */
}

.claims-status-table td {
	padding: 12px 8px;
	border-bottom: 1px solid rgba(101, 101, 101, 0.25);
	vertical-align: top;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 120%;
	color: #656565;
}

.claims-status-number {
	font-weight: 700;
	color: #323232;
	white-space: nowrap;
}

.claims-status-policy {
	text-align: center;
	width: 90px;
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

.claims-status-policy-icon {
	display: inline-block;	/* centrat de text-align: center al celulei */
	width: 48px;
	height: 50px;
	border-radius: 4px;
	margin: 0 auto;
	background: #109CF1 center / 28px 28px no-repeat;
}

.claims-status-policy-number {
	font-size: 11px;
	line-height: 1;
	margin-top: 2px;
	color: #656565;
	word-break: break-all;
}

.claims-status-text {
	line-height: 1.4;
}

.claims-status-empty {
	text-align: center;
	color: #656565;
	padding: 16px 0;
}

.claims-status-footer {
	display: flex;
	justify-content: center;
	padding: 16px 0 8px 0;
}

@media (max-width: 576px) {
	.claims-status-table th {
		font-size: 15px;
	}

	.claims-status-table th,
	.claims-status-table td {
		padding: 6px 4px;
	}

	.claims-status-table td {
		font-size: 14px;
	}
}


.renewal-modal-host .blazored-modal {
	max-width: 640px;
	width: 100%;
	border-radius: 4px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

.renewal-modal {
	padding: 8px 8px 0 8px;
}

.renewal-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 120%;
	color: #323232;
	margin-bottom: 12px;
}

.renewal-success {
	background: #E6F7EE;
	border: 1px solid #0CC05E;
	border-radius: 4px;
	color: #0A7A44;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	padding: 10px 12px;
	margin-bottom: 12px;
}

.renewal-list {
	max-height: 45vh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.renewal-row {
	display: flex;
	align-items: center;
	gap: 14px;
	border: 1px solid rgba(101, 101, 101, 0.5);
	border-radius: 4px;
	padding: 16px 18px;
}

.renewal-row-icon {
	flex: 0 0 48px;
	width: 48px;
	height: 50px;
	border-radius: 4px;
	background: #005CA8 center / 28px 28px no-repeat;
}

.renewal-row-info {
	flex: 1 1 auto;
	min-width: 0;
}

.renewal-row-name {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #323232;
}

.renewal-row-details {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #323232;
}

.renewal-request-btn {
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #109CF1;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0 14px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
}

.renewal-request-btn:hover {
	background: #0d8ad8;
	color: #fff;
}

.renewal-sent-label {
	color: #0A7A44;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.renewal-bulk {
	display: flex;
	justify-content: center;
	padding-top: 14px;
}

.renewal-bulk-btn {
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #005CA8;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0 24px;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 16px;
}

.renewal-bulk-btn:hover {
	background: #004a87;
	color: #fff;
}

.renewal-empty {
	text-align: center;
	color: #656565;
	padding: 16px 0;
}

.renewal-footer {
	display: flex;
	justify-content: center;
	padding: 14px 0 8px 0;
}

.ul-total-de-plata {
	font-weight: 700;
	color: #323232;
}


.product-icon-calatorie          { background-image: url('../images/icons/policy-travel.svg'); }
.product-icon-locuinta           { background-image: url('../images/icons/policy-home.svg'); }
.product-icon-viata              { background-image: url('../images/icons/policy-life.svg'); background-color: #0CC05E; }
.product-icon-auto               { background-image: url('../images/icons/policy-auto.svg'); }
.product-icon-sanatate           { background-image: url('../images/icons/policy-health.svg'); }
.product-icon-accidente          { background-image: url('../images/icons/policy-accidente.svg'); }
.product-icon-raspundere-civila  { background-image: url('../images/icons/policy-raspundere-civila.svg'); }
