/* Front-end styles for hamkari-tasviyeh
 * Design tokens from Elementor globals (noghteetesal.ir)
 */
:root {
	--noghte-brand: var(--e-global-color-51e55ad, #C06A45);
	--noghte-brand-hover: color-mix(in srgb, var(--e-global-color-51e55ad, #C06A45) 85%, black);
	--noghte-brand-soft: var(--e-global-color-6e63992, #F0F4FA);
	--noghte-text-primary: var(--e-global-color-225ec37, #1A2540);
	--noghte-text-dark: var(--e-global-color-48d618d, #111827);
	--noghte-text-muted: var(--e-global-color-9f26895, #6E6C88);
	--noghte-text-light: var(--e-global-color-b9faba6, #9AA2B1);
	--noghte-border: var(--e-global-color-b9faba6, #C7D2E0);
	--noghte-border-strong: var(--e-global-color-df64e90, #5A6A80);
	--noghte-surface: #FFFFFF;
	--noghte-radius: 14px;
	--noghte-radius-sm: 10px;
	--noghte-shadow: 0 8px 28px rgba(26, 37, 64, 0.07);
	--noghte-shadow-hover: 0 12px 32px rgba(26, 37, 64, 0.1);

	--noghte-font: var(--e-global-typography-primary-font-family, "Mikhak");
	--noghte-fw-primary: var(--e-global-typography-primary-font-weight, 600);
	--noghte-fw-secondary: var(--e-global-typography-secondary-font-weight, 400);
	--noghte-fw-text: var(--e-global-typography-text-font-weight, 400);
	--noghte-fw-accent: var(--e-global-typography-accent-font-weight, 500);
}

/* Reset for plugin scopes */
.noghte-page-wrapper,
.noghte-request-page,
.noghte-invoice-page,
.noghte-contract-wrapper,
.noghte-modal-content,
.noghte-order-details,
.noghte-settlement-panel,
.noghte-destination-card-box {
	direction: rtl;
	font-family: var(--noghte-font), sans-serif;
	color: var(--noghte-text-dark);
}

/* Buttons - unified system — matched to noghteetesal.ir live values */
.noghte-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--noghte-font), sans-serif !important;
	font-size: 15px !important;
	font-weight: var(--noghte-fw-accent) !important;
	min-height: 44px;
	padding: 10px 24px !important;
	border-radius: var(--noghte-radius-sm) !important;
	border: 1px solid transparent !important;
	line-height: 1.5 !important;
	transition: all 0.2s ease !important;
	cursor: pointer;
	text-decoration: none !important;
	white-space: nowrap;
	box-sizing: border-box;
}

.noghte-btn:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

.noghte-btn--primary {
	background: var(--noghte-brand) !important;
	border-color: var(--noghte-brand) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 16px rgba(192, 106, 69, 0.2) !important;
}
.noghte-btn--primary:hover:not(:disabled) {
	background: var(--noghte-brand-hover) !important;
	border-color: var(--noghte-brand-hover) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(192, 106, 69, 0.25) !important;
}

.noghte-btn--outline {
	background: var(--noghte-surface) !important;
	border-color: var(--noghte-border-strong) !important;
	color: var(--noghte-text-muted) !important;
}
.noghte-btn--outline:hover:not(:disabled) {
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
	background: var(--noghte-surface) !important;
}

.noghte-btn--ghost {
	background: transparent !important;
	border-color: var(--noghte-border) !important;
	color: var(--noghte-text-muted) !important;
}
.noghte-btn--ghost:hover:not(:disabled) {
	background: var(--noghte-brand-soft) !important;
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
}

.noghte-btn--secondary {
	background: var(--noghte-surface) !important;
	border-color: var(--noghte-border-strong) !important;
	color: var(--noghte-text-primary) !important;
}
.noghte-btn--secondary:hover:not(:disabled) {
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
}

/* Form inputs */
.noghte-input,
.noghte-textarea,
.noghte-select {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius-sm);
	background: var(--noghte-surface);
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
	font-size: 14px;
	font-weight: var(--noghte-fw-text);
	line-height: 1.8;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.noghte-input::placeholder,
.noghte-textarea::placeholder {
	color: var(--noghte-text-light);
	opacity: 1;
}
.noghte-input:focus,
.noghte-textarea:focus,
.noghte-select:focus {
	outline: none;
	border-color: var(--noghte-brand);
	background: var(--noghte-surface);
	box-shadow: 0 0 0 3px rgba(192, 106, 69, 0.11);
}

.noghte-textarea {
	resize: vertical;
	min-height: 120px;
}

/* Cards / Panels */
.noghte-card,
.noghte-panel {
	background: var(--noghte-surface);
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius);
	box-shadow: var(--noghte-shadow);
}

.noghte-card:hover {
	box-shadow: var(--noghte-shadow-hover);
}

/* Tables */
.noghte-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--noghte-surface);
	border-radius: var(--noghte-radius);
	overflow: hidden;
	box-shadow: var(--noghte-shadow);
}
.noghte-table th,
.noghte-table td {
	padding: 13px 12px;
	vertical-align: middle;
	text-align: center;
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
}
.noghte-table thead th {
	background: var(--noghte-brand-soft);
	color: var(--noghte-brand);
	font-weight: var(--noghte-fw-primary);
	border-bottom: 1px solid var(--noghte-border);
}
.noghte-table tbody tr {
	border-bottom: 1px solid var(--noghte-border);
}
.noghte-table tbody tr:last-child {
	border-bottom: none;
}
.noghte-table tbody tr:hover {
	background: var(--noghte-brand-soft);
}

/* Badges / Status */
.noghte-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: var(--noghte-fw-primary);
	font-family: var(--noghte-font), sans-serif;
}
.noghte-badge--pending { background: #FFF3E0; color: #E65100; }
.noghte-badge--submitted { background: #E3F2FD; color: #1565C0; }
.noghte-badge--approved { background: #E8F5E9; color: #2E7D32; }
.noghte-badge--rejected { background: #FBE9E7; color: #C62828; }

/* ==========================================================================
   CONTRACT MODAL
   ========================================================================== */

.noghte-modal {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(26, 37, 64, 0.5) !important;
	z-index: 2147483000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.noghte-modal.noghte-modal--open {
	display: flex !important;
}

.noghte-modal-content {
	background: var(--noghte-surface);
	max-width: 640px;
	width: 100%;
	max-height: 85vh;
	overflow-y: auto;
	padding: 24px;
	border-radius: var(--noghte-radius);
	box-shadow: var(--noghte-shadow-hover);
	font-family: var(--noghte-font), sans-serif;
}

.noghte-contract-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--noghte-border);
}
.noghte-contract-modal-header h3 {
	margin: 0;
	color: var(--noghte-text-dark);
	font-size: 16px;
	font-weight: var(--noghte-fw-primary);
	font-family: var(--noghte-font), sans-serif;
}
.noghte-modal-close {
	cursor: pointer;
	background: transparent;
	border: none;
	font-size: 22px;
	color: var(--noghte-text-muted);
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: background 0.2s ease, color 0.2s ease;
}
.noghte-modal-close:hover {
	background: var(--noghte-brand-soft);
	color: var(--noghte-brand);
}

.noghte-contract-body {
	border: 1px solid var(--noghte-border);
	padding: 16px;
	max-height: 360px;
	overflow-y: auto;
	margin-bottom: 16px;
	background: var(--noghte-surface);
	border-radius: var(--noghte-radius-sm);
	color: var(--noghte-text-dark);
	line-height: 1.9;
	font-size: 13px;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}

.noghte-contract-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 8px;
}
.noghte-actions-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.noghte-actions-top { justify-content: space-between; }
.noghte-actions-bottom { justify-content: flex-end; }

.noghte-agree-label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	font-size: 13px;
	line-height: 1.8;
	color: var(--noghte-text-primary);
	cursor: pointer;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}
.noghte-agree-label input[type="checkbox"] {
	accent-color: var(--noghte-brand);
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	margin: 0;
}

/* Objection box */
.noghte-objection-box {
	margin-top: 14px;
	padding: 16px;
	background: var(--noghte-brand-soft);
	border-radius: var(--noghte-radius-sm);
	box-sizing: border-box;
}
.noghte-objection-box label {
	display: block;
	font-weight: var(--noghte-fw-primary);
	margin-bottom: 10px;
	color: var(--noghte-text-primary);
	font-family: var(--noghte-font), sans-serif;
}
.noghte-objection-text {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
	min-height: 120px;
	margin-top: 0 !important;
	resize: vertical;
	padding: 12px;
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius-sm);
	background: var(--noghte-surface);
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
	line-height: 1.9;
	font-weight: var(--noghte-fw-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.noghte-objection-text:focus {
	outline: none;
	border-color: var(--noghte-brand);
	background: var(--noghte-surface);
	box-shadow: 0 0 0 3px rgba(192, 106, 69, 0.11);
}
#noghte-submit-objection-btn {
	margin-top: 12px;
	width: 100%;
	border-radius: var(--noghte-radius-sm);
	padding: 12px !important;
}
.noghte-objection-box label {
	display: block;
	font-weight: var(--noghte-fw-primary);
	margin-bottom: 10px;
	color: var(--noghte-text-primary);
	font-family: var(--noghte-font), sans-serif;
}

.noghte-contract-objection-notice {
	margin-bottom: 14px;
	padding: 14px 16px;
	background: var(--noghte-brand-soft);
	border: 1px solid var(--noghte-border);
	border-inline-start: 4px solid var(--noghte-brand);
	border-radius: var(--noghte-radius-sm);
	color: var(--noghte-text-dark);
	font-size: 13px;
	line-height: 1.9;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}

.noghte-contract-confirmed {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
	padding: 12px 16px;
	background: var(--noghte-brand-soft);
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius-sm);
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
}

/* Contract buttons — matched to live site values (44px, radius 14, fs15) */
.noghte-contract-actions .button,
.noghte-contract-open,
#noghte-submit-objection-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--noghte-font), sans-serif !important;
	font-size: 15px !important;
	font-weight: var(--noghte-fw-accent) !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 10px 24px !important;
	margin: 0 !important;
	border-radius: var(--noghte-radius-sm) !important;
	border: 1px solid transparent !important;
	line-height: 1.5 !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
	cursor: pointer;
}
#noghte-submit-objection-btn {
	width: 100%;
}

/* Primary (brand) */
.noghte-contract-open,
.noghte-confirm-contract:not(:disabled),
#noghte-submit-objection-btn {
	background-color: var(--noghte-brand) !important;
	border-color: var(--noghte-brand) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 16px rgba(192, 106, 69, 0.2);
}
.noghte-confirm-contract:hover:not(:disabled),
.noghte-contract-open:hover,
#noghte-submit-objection-btn:hover {
	background-color: var(--noghte-brand-hover) !important;
	transform: translateY(-1px);
}

/* Disabled */
.noghte-contract-actions .button:disabled {
	opacity: 0.5;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none;
}

/* Print (outline) */
.noghte-print-contract {
	background: var(--noghte-surface) !important;
	color: var(--noghte-text-muted) !important;
	border-color: var(--noghte-border-strong) !important;
}
.noghte-print-contract:hover {
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
}

/* Disagree (ghost) */
.noghte-disagree-contract {
	background: transparent !important;
	color: var(--noghte-text-muted) !important;
	border-color: var(--noghte-border-strong) !important;
}
.noghte-disagree-contract:hover {
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
	background: transparent !important;
}

/* Close (text button — same height as siblings) */
.noghte-contract-actions .noghte-modal-close:last-child {
	background: transparent !important;
	color: var(--noghte-text-muted) !important;
	border-color: var(--noghte-border-strong) !important;
	font-size: 15px !important;
}
.noghte-contract-actions .noghte-modal-close:last-child:hover {
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
}

/* ==========================================================================
   REQUEST PAGE / ORDER PAGE / INVOICE PAGE
   ========================================================================== */

.noghte-page-wrapper {
	max-width: 960px;
	margin: 0 auto;
	padding: 24px 16px 60px;
}
.noghte-page-banner {
	border-radius: var(--noghte-radius);
	padding: 24px;
	margin-bottom: 28px;
	background: var(--noghte-brand-soft);
	border-inline-start: 5px solid var(--noghte-brand);
}
.noghte-page-title {
	margin: 0 0 8px;
	font-size: 26px;
	font-weight: var(--noghte-fw-primary);
	font-family: var(--noghte-font), sans-serif;
	color: var(--noghte-text-dark);
}
.noghte-page-desc {
	margin: 0;
	color: var(--noghte-text-muted);
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}
.noghte-section-heading {
	margin-bottom: 20px;
}
.noghte-section-heading h2 {
	margin-bottom: 6px;
	font-size: 20px;
	font-weight: var(--noghte-fw-primary);
	font-family: var(--noghte-font), sans-serif;
	color: var(--noghte-text-dark);
}
.noghte-section-heading p {
	margin-top: 0;
	color: var(--noghte-text-muted);
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}

/* Request form */
.noghte-request-form {
	background: var(--noghte-surface);
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius);
	padding: 28px 32px;
	box-shadow: var(--noghte-shadow);
}
.noghte-request-form-title {
	margin: 0 0 22px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--noghte-border);
	font-size: 19px;
	font-weight: var(--noghte-fw-primary);
	font-family: var(--noghte-font), sans-serif;
	color: var(--noghte-text-dark);
}
.noghte-form-row {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 18px;
}
.noghte-form-row--textarea { align-items: flex-start; }
.noghte-form-row label {
	flex: 0 0 160px;
	max-width: 160px;
	text-align: right;
	font-weight: var(--noghte-fw-primary);
	font-size: 14px;
	color: var(--noghte-text-primary);
	font-family: var(--noghte-font), sans-serif;
}
.noghte-form-row .noghte-field { flex: 1 1 auto; min-width: 0; }
.noghte-form-row--submit { margin-top: 24px; margin-bottom: 0; justify-content: flex-start; }

/* Order details */
.noghte-order-details {
	background: var(--noghte-surface);
	border-radius: var(--noghte-radius);
	padding: 24px;
	box-shadow: var(--noghte-shadow);
}
.noghte-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
	color: var(--noghte-brand);
	font-size: 13px;
	font-weight: var(--noghte-fw-primary);
	text-decoration: none;
	transition: gap 0.15s ease;
	font-family: var(--noghte-font), sans-serif;
}
.noghte-back-link:hover { gap: 9px; color: var(--noghte-brand-hover); }
.noghte-back-link-icon { flex: 0 0 auto; }

.noghte-order-summary,
.noghte-invoice-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
}
.noghte-order-summary > div,
.noghte-invoice-meta > div {
	padding: 14px;
	background: var(--noghte-brand-soft);
	border-radius: var(--noghte-radius);
}
.noghte-order-summary span,
.noghte-invoice-meta span {
	display: block;
	color: var(--noghte-text-muted);
	font-size: 13px;
	margin-bottom: 5px;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}
.noghte-order-summary strong,
.noghte-invoice-meta strong {
	color: var(--noghte-brand);
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-accent);
}

/* Order items table */
.noghte-order-items,
.noghte-invoice-stages,
.noghte-stages-table {
	width: 100%;
	margin-bottom: 16px;
	border-collapse: collapse;
	background: var(--noghte-surface);
	border-radius: var(--noghte-radius);
	overflow: hidden;
	box-shadow: var(--noghte-shadow);
}
.noghte-order-items thead th,
.noghte-invoice-stages thead th,
.noghte-stages-table thead th {
	background: var(--noghte-brand-soft);
	color: var(--noghte-brand);
	font-weight: var(--noghte-fw-primary);
	text-align: center;
	padding: 13px 12px;
	font-family: var(--noghte-font), sans-serif;
}
.noghte-order-items td,
.noghte-order-items th,
.noghte-invoice-stages td,
.noghte-stages-table td {
	padding: 13px 12px;
	text-align: center;
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
}

/* Settlement panel */
.noghte-settlement-panel { margin-top: 24px; }
.noghte-payment-rule-note {
	background: #FFF8E1;
	border-inline-start: 4px solid #E6A817;
	padding: 10px 14px;
	border-radius: var(--noghte-radius-sm);
	margin-bottom: 16px;
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
	line-height: 1.8;
}

/* Destination card box */
.noghte-destination-card-box {
	background: var(--noghte-brand-soft);
	border: 1px solid var(--noghte-brand);
	border-radius: var(--noghte-radius);
	padding: 16px 20px;
	margin: 16px 0;
}
.noghte-destination-card-box h3 {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: var(--noghte-fw-primary);
	color: var(--noghte-brand);
	font-family: var(--noghte-font), sans-serif;
}
.noghte-destination-card-box ul { margin: 0; padding: 0; list-style: none; }
.noghte-destination-card-box li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
	border-top: 1px dashed var(--noghte-border);
}
.noghte-destination-card-box li:first-child { border-top: none; }
.noghte-destination-card-box li span {
	color: var(--noghte-text-muted);
	font-size: 13px;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-text);
}
.noghte-destination-card-box li strong {
	font-size: 15px;
	letter-spacing: 0.5px;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-accent);
	color: var(--noghte-text-dark);
}

/* Copy row */
.noghte-copy-row { display: flex; align-items: center; gap: 10px; }
.noghte-copy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	padding: 0;
	background: var(--noghte-surface);
	border: 1px solid var(--noghte-brand);
	color: var(--noghte-brand);
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.noghte-copy-btn:hover {
	background: var(--noghte-brand);
	color: #FFFFFF;
}
.noghte-copy-btn--done {
	background: #2F9E59;
	color: #FFFFFF;
	border-color: #2F9E59;
}
.noghte-copy-icon { display: block; }
.noghte-copy-icon--done { display: none; }
.noghte-copy-btn--done .noghte-copy-icon--copy { display: none; }
.noghte-copy-btn--done .noghte-copy-icon--done { display: block; }

/* Empty states */
.noghte-empty-state { padding: 28px; text-align: center; }
.noghte-empty-state h3 { margin-top: 0; font-family: var(--noghte-font), sans-serif; color: var(--noghte-text-dark); }

/* Invoice empty table */
.noghte-invoice-empty-table {
	width: 100%;
	background: var(--noghte-surface);
	border-radius: var(--noghte-radius);
	overflow: hidden;
	box-shadow: var(--noghte-shadow);
}
.noghte-invoice-empty-table th {
	background: var(--noghte-brand-soft);
	color: var(--noghte-brand);
	font-weight: var(--noghte-fw-primary);
	text-align: center;
	padding: 18px 12px;
	font-family: var(--noghte-font), sans-serif;
}

/* Dashboard boxes */
.noghte-dashboard-box {
	background: var(--noghte-surface);
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius);
	box-shadow: var(--noghte-shadow);
	padding: 20px;
}
.noghte-dashboard-box h3 {
	margin: 0 0 12px;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-primary);
	color: var(--noghte-text-dark);
}
.noghte-dashboard-box .amount {
	color: var(--noghte-brand);
	font-weight: var(--noghte-fw-accent);
	font-family: var(--noghte-font), sans-serif;
}

/* Notices */
.noghte-notice {
	padding: 12px 16px;
	border-radius: var(--noghte-radius-sm);
	margin-bottom: 14px;
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
	line-height: 1.8;
}
.noghte-notice--info { background: var(--noghte-brand-soft); border: 1px solid var(--noghte-border); color: var(--noghte-text-dark); }
.noghte-notice--warning { background: #FFF8E1; border: 1px solid #FFD54F; color: #E65100; }
.noghte-notice--success { background: #E8F5E9; border: 1px solid #81C784; color: #2E7D32; }
.noghte-notice--error { background: #FBE9E7; border: 1px solid #EF9A9A; color: #C62828; }

/* Responsive */
@media (max-width: 768px) {
	.noghte-page-wrapper { padding: 16px 12px 40px; }
	.noghte-request-form { padding: 20px; }
	.noghte-form-row { flex-direction: column; align-items: stretch; gap: 8px; }
	.noghte-form-row label { flex: none; max-width: none; text-align: right; }
	.noghte-order-summary,
	.noghte-invoice-meta { grid-template-columns: 1fr; }
	.noghte-table th, .noghte-table td { padding: 10px 8px; font-size: 12px; }
	.noghte-btn { padding: 12px 16px !important; font-size: 13px !important; width: 100%; }
	.noghte-actions-row { flex-direction: column; align-items: stretch; }
	.noghte-actions-row .noghte-btn { width: 100%; }

	/* Contract modal responsive */
	.noghte-contract-actions .button,
	.noghte-contract-open,
	#noghte-submit-objection-btn {
		width: 100%;
		min-height: 48px;
		padding: 12px 20px !important;
	}
	.noghte-actions-top { flex-direction: column-reverse; }
	.noghte-agree-label { justify-content: flex-end; }

	/* Receipt form grid responsive */
	.noghte-form-grid { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   RECEIPT MODAL (card-to-card form)
   ========================================================================== */

#noghte-receipt-modal .noghte-modal-content {
	max-width: 520px;
	width: 94%;
}
#noghte-receipt-modal h3 {
	margin: 0 0 8px;
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-primary);
	font-size: 16px;
}
.noghte-modal-rule {
	background: var(--noghte-brand-soft);
	border-inline-start: 4px solid var(--noghte-brand);
	padding: 10px 14px;
	border-radius: var(--noghte-radius-sm);
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
	line-height: 1.9;
	margin-bottom: 16px;
}
#noghte-receipt-form p {
	margin: 0 0 12px;
}
#noghte-receipt-form label {
	display: block;
	font-family: var(--noghte-font), sans-serif;
	font-weight: var(--noghte-fw-primary);
	font-size: 13px;
	color: var(--noghte-text-primary);
	margin-bottom: 6px;
}
#noghte-receipt-form input[type="text"],
#noghte-receipt-form input[type="date"],
#noghte-receipt-form input[type="time"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid var(--noghte-border);
	border-radius: var(--noghte-radius-sm);
	background: var(--noghte-surface);
	color: var(--noghte-text-dark);
	font-family: var(--noghte-font), sans-serif;
	font-size: 14px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
#noghte-receipt-form input:focus {
	outline: none;
	border-color: var(--noghte-brand);
	box-shadow: 0 0 0 3px rgba(192, 106, 69, .11);
}
.noghte-form-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 12px;
}
.noghte-form-cell label { margin-bottom: 6px; }

/* ==========================================================================
   INVOICE PAGE — payments table (tabbed)
   ========================================================================== */

.noghte-invoice-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}
.noghte-invoice-tab {
	font-family: var(--noghte-font), sans-serif;
	font-size: 13px;
	font-weight: var(--noghte-fw-accent);
	padding: 10px 20px;
	border-radius: var(--noghte-radius-sm);
	border: 1px solid var(--noghte-border-strong);
	background: var(--noghte-surface);
	color: var(--noghte-text-muted);
	cursor: pointer;
	transition: all .2s ease;
}
.noghte-invoice-tab:hover {
	border-color: var(--noghte-brand);
	color: var(--noghte-brand);
}
.noghte-invoice-tab.is-active {
	background: var(--noghte-brand);
	border-color: var(--noghte-brand);
	color: #FFFFFF;
	box-shadow: 0 4px 12px rgba(192, 106, 69, .2);
}

.noghte-invoice-panel { display: none; }
.noghte-invoice-panel.is-active { display: block; }

.noghte-payments-table-wrap { overflow-x: auto; }
.noghte-payments-table {
	width: 100%;
	min-width: 900px;
	border-collapse: collapse;
	background: var(--noghte-surface);
	border-radius: var(--noghte-radius);
	overflow: hidden;
	box-shadow: var(--noghte-shadow);
}
.noghte-payments-table th,
.noghte-payments-table td {
	padding: 12px 10px;
	text-align: center;
	vertical-align: middle;
	font-family: var(--noghte-font), sans-serif;
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--noghte-text-dark);
	border-bottom: 1px solid var(--noghte-border);
	white-space: nowrap;
}
.noghte-payments-table thead th {
	background: var(--noghte-brand-soft);
	color: var(--noghte-brand);
	font-weight: var(--noghte-fw-primary);
	font-size: 12px;
}
.noghte-payments-table tbody tr:hover { background: var(--noghte-brand-soft); }
.noghte-payments-table tbody tr:last-child td { border-bottom: none; }

.noghte-payment-order-no a {
	color: var(--noghte-brand) !important;
	text-decoration: none;
	font-weight: var(--noghte-fw-primary);
}
.noghte-payment-order-no a:hover { text-decoration: underline; }

.noghte-receipt-dl {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--noghte-brand);
	font-family: var(--noghte-font), sans-serif;
	font-size: 12px;
	font-weight: var(--noghte-fw-primary);
	text-decoration: none !important;
	padding: 6px 12px;
	border: 1px solid var(--noghte-brand);
	border-radius: 8px;
	transition: all .2s ease;
}
.noghte-receipt-dl:hover {
	background: var(--noghte-brand);
	color: #FFFFFF !important;
}

.noghte-view-order-link-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--noghte-font), sans-serif;
	font-size: 12px;
	font-weight: var(--noghte-fw-primary);
	padding: 6px 14px;
	border-radius: 8px;
	background: var(--noghte-text-primary);
	color: #FFFFFF;
	text-decoration: none !important;
	transition: all .2s ease;
}
.noghte-view-order-link-btn:hover {
	background: var(--noghte-text-muted);
	transform: translateY(-1px);
}/* ==========================================================================
   SETTLEMENT PANEL — upload receipt & modal buttons (site-matched 44px)
   ========================================================================== */

.noghte-upload-receipt-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--noghte-font), sans-serif !important;
	font-size: 15px !important;
	font-weight: var(--noghte-fw-accent) !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 10px 24px !important;
	margin: 0 !important;
	border-radius: var(--noghte-radius-sm) !important;
	border: 1px solid transparent !important;
	line-height: 1.5 !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
	cursor: pointer;
	background-color: var(--noghte-brand) !important;
	border-color: var(--noghte-brand) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 16px rgba(192, 106, 69, 0.2) !important;
}
.noghte-upload-receipt-btn:hover {
	background-color: var(--noghte-brand-hover) !important;
	transform: translateY(-1px);
}

#noghte-receipt-form button[type="submit"],
#noghte-receipt-form .noghte-modal-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--noghte-font), sans-serif !important;
	font-size: 15px !important;
	font-weight: var(--noghte-fw-accent) !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 10px 24px !important;
	border-radius: var(--noghte-radius-sm) !important;
	line-height: 1.5 !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
	cursor: pointer;
}

#noghte-receipt-form button[type="submit"] {
	background-color: var(--noghte-brand) !important;
	border: 1px solid var(--noghte-brand) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 16px rgba(192, 106, 69, 0.2) !important;
}
#noghte-receipt-form button[type="submit"]:hover:not(:disabled) {
	background-color: var(--noghte-brand-hover) !important;
	transform: translateY(-1px);
}
#noghte-receipt-form button[type="submit"]:disabled {
	opacity: 0.5;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none;
}

#noghte-receipt-form .noghte-modal-close {
	background: transparent !important;
	border-color: var(--noghte-border-strong) !important;
	color: var(--noghte-text-muted) !important;
}
#noghte-receipt-form .noghte-modal-close:hover {
	border-color: var(--noghte-brand) !important;
	color: var(--noghte-brand) !important;
	background: transparent !important;
}

/* ==========================================================================
   REQUEST BUTTON — "ثبت درخواست همکاری" (single product / loop)
   ========================================================================== */

.noghte-request-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--noghte-font), sans-serif !important;
	font-size: 15px !important;
	font-weight: var(--noghte-fw-accent) !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 10px 24px !important;
	margin: 0 !important;
	border-radius: var(--noghte-radius-sm) !important;
	border: 1px solid transparent !important;
	line-height: 1.5 !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
	cursor: pointer;
	text-decoration: none !important;
	background-color: var(--noghte-brand) !important;
	border-color: var(--noghte-brand) !important;
	color: #FFFFFF !important;
	box-shadow: 0 6px 16px rgba(192, 106, 69, 0.2) !important;
}
.noghte-request-button:hover {
	background-color: var(--noghte-brand-hover) !important;
	border-color: var(--noghte-brand-hover) !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
}


/* ==========================================================================
   REQUEST BUTTON — "ثبت درخواست همکاری" (single product / loop)
   Exact match with site's Elementor button style + full container width.
   ========================================================================== */

.noghte-request-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	box-sizing: border-box;
	font-family: "Mikhak", Sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	border-radius: 14px !important;
	padding: 15px !important;
	color: #ffffff !important;
	background-color: var(--e-global-color-51e55ad, #c06a45) !important;
	border-color: var(--e-global-color-7d45bd9, #c06a45) !important;
	transition: all 0.2s !important;
	text-align: center !important;
	line-height: 1.6 !important;
	cursor: pointer;
	text-decoration: none !important;
}
.noghte-request-button:hover {
	background-color: color-mix(in srgb, var(--e-global-color-51e55ad, #c06a45) 85%, black) !important;
	color: #ffffff !important;
}
/* Ensure parent containers stretch so the full-width button fits */
.elementor-widget-woocommerce-product-add-to-cart .elementor-widget-container,
.elementor-add-to-cart:has(.noghte-request-button) {
	width: 100%;
}


/* ==========================================================================
   ADMIN PAYMENTS TABLE
   ========================================================================== */

.noghte-payments-admin-table th,
.noghte-payments-admin-table td {
	padding: 10px 8px;
	text-align: center;
	vertical-align: middle;
	font-family: var(--noghte-font), sans-serif;
	font-size: 12px;
	line-height: 1.6;
	color: var(--noghte-text-dark);
	border-bottom: 1px solid var(--noghte-border);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.noghte-payments-admin-table thead th {
	background: var(--noghte-brand-soft);
	color: var(--noghte-brand);
	font-weight: var(--noghte-fw-primary);
	font-size: 11px;
}
.noghte-payments-admin-table .noghte-delete-payment {
	background: transparent !important;
	color: #c62828 !important;
	border: 1px solid #ef9a9a !important;
	padding: 4px 10px !important;
	border-radius: 6px !important;
	font-size: 11px !important;
	min-height: auto !important;
	height: auto !important;
	transition: all .2s ease !important;
	cursor: pointer;
}
.noghte-payments-admin-table .noghte-delete-payment:hover {
	background: #c62828 !important;
	color: #fff !important;
	border-color: #c62828 !important;
}
.noghte-payments-admin-table .noghte-delete-payment:disabled {
	opacity: .6;
	cursor: not-allowed !important;
}

