/**
 * DAS AutoFiler — Frontend Styles
 *
 * @package DASAutoFiler
 * @since   1.0.0
 */

/* =========================================================================
   Dashboard Layout
   ========================================================================= */

.dasaf-dashboard-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.dasaf-dashboard-wrap.dasaf-split-active {
	max-width: 1400px;
}

.dasaf-dashboard-title {
	font-size: 28px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #1d2327;
}

/* Generate Forms header — back link + project context */
.dasaf-forms-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 8px;
}

.dasaf-back-link {
	color: #666;
	text-decoration: none;
	font-size: 13px;
	transition: color 0.15s;
}

.dasaf-back-link:hover {
	color: #2271b1;
}

.dasaf-project-context {
	display: none;
	font-size: 14px;
	color: #1d2327;
	font-weight: 600;
	padding: 4px 12px;
	background: #f0f6fc;
	border-radius: 4px;
	border: 1px solid #c3d4e6;
}

.dasaf-project-type-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 1px 8px;
	border-radius: 3px;
	vertical-align: middle;
	margin-left: 6px;
}
.dasaf-project-type-badge--public {
	background: #dbeafe;
	color: #1e40af;
	border: 1px solid #93c5fd;
}
.dasaf-project-type-badge--private {
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fcd34d;
}
.dasaf-project-type-badge--direct {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #86efac;
}
.dasaf-project-type-badge--sub {
	background: #f3e8ff;
	color: #6b21a8;
	border: 1px solid #d8b4fe;
}

/* =========================================================================
   Tabs
   ========================================================================= */

.dasaf-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid #ddd;
	margin-bottom: 24px;
}

.dasaf-tab {
	padding: 12px 20px;
	text-decoration: none;
	color: #666;
	font-weight: 500;
	font-size: 14px;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all 0.2s ease;
}

.dasaf-tab:hover {
	color: #2271b1;
	border-bottom-color: #2271b1;
}

.dasaf-tab.active,
.dasaf-tab.dasaf-tab--active {
	color: #2271b1;
	border-bottom-color: #2271b1;
	font-weight: 600;
}

/* Right-aligned icon tabs (Address Book, Filing History) */
.dasaf-tabs-icons {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
}

.dasaf-tab--icon {
	padding: 8px 12px;
	text-decoration: none;
	color: #666;
	font-size: 18px;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all 0.2s ease;
	position: relative;
	cursor: pointer;
	line-height: 1;
}

.dasaf-tab--icon:hover {
	color: #2271b1;
	border-bottom-color: #2271b1;
}

.dasaf-tab--icon.dasaf-tab--active {
	color: #2271b1;
	border-bottom-color: #2271b1;
}

.dasaf-tab-badge {
	position: absolute;
	top: 2px;
	right: 0;
	background: #2271b1;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	min-width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	border-radius: 8px;
	padding: 0 4px;
}

/* Tab content wrapper — always visible */
.dasaf-dashboard > .dasaf-tab-content {
	display: block;
}

/* Individual tab panels within the old view (JS-toggled) */
div.dasaf-tab-content:not(.dasaf-dashboard > .dasaf-tab-content) {
	display: none;
}

div.dasaf-tab-content.active {
	display: block;
}

/* Tab panel within new URL-based dashboard */
.dasaf-tab-panel {
	display: block;
}

.dasaf-badge {
	display: inline-block;
	background: #2271b1;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 1px 7px;
	border-radius: 10px;
	margin-left: 6px;
}

/* =========================================================================
   QuickBooks Status Bar
   ========================================================================= */

.dasaf-qb-status {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: #f0f6fc;
	border: 1px solid #c3d8e8;
	border-radius: 6px;
	margin-bottom: 24px;
}

.dasaf-status-connected {
	color: #00a32a;
	font-weight: 500;
}

.dasaf-status-disconnected {
	color: #d63638;
	font-weight: 500;
}

.dasaf-status-connected .dashicons,
.dasaf-status-disconnected .dashicons {
	font-size: 18px;
	vertical-align: middle;
	margin-right: 4px;
}

/* =========================================================================
   Forms
   ========================================================================= */

.dasaf-form {
}

.dasaf-form-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 20px;
}

.dasaf-field {
	display: flex;
	flex-direction: column;
	/* Let the grid item shrink to its track. Without min-width:0 a grid item
	   refuses to shrink below its widest child's min-content (e.g. a long
	   <select> option), so the field overflows into the next column. Windows
	   renders text wider than macOS, so it overflowed there but not on Mac. */
	min-width: 0;
}

.dasaf-field-full {
	grid-column: 1 / -1;
}

/* The DAS-140 "Apprenticeship Training Status" select (compliance_option) has
   long option text; give it the full row so the selected option is readable
   instead of truncating in a half-width cell. */
.dasaf-field[data-field-key="compliance_option"] {
	grid-column: 1 / -1;
}

.dasaf-field label {
	font-size: 13px;
	font-weight: 600;
	color: #1d2327;
}

.dasaf-field-help-text {
	font-size: 12px;
	font-weight: 500;
	color: #646970;
	margin: 0 0 2px;
	font-style: italic;
	line-height: 1.4;
}

.dasaf-field-label-row {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-bottom: 4px;
}

.dasaf-field input,
.dasaf-field select,
.dasaf-field textarea,
#dasaf-dashboard-wrap .dasaf-field textarea {
	/* Constrain controls to the field box so a wide control (notably a <select>
	   with a long option) can never spill past its cell — the Windows overflow. */
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.4;
	background: #fcfcfc;
	transition: border-color 0.2s;
}

.dasaf-field input:focus,
.dasaf-field select:focus,
.dasaf-field textarea:focus,
#dasaf-dashboard-wrap .dasaf-field textarea:focus {
	border-color: #2271b1;
	outline: none;
	box-shadow: 0 0 0 1px #2271b1;
}

/* Invalid / validation-failed fields. Red border + subtle pink
   background so the user can spot exactly which field the error
   message is complaining about. Overrides focus styles when the
   field is both focused and invalid so the error state wins. */
input.dasaf-field-invalid,
select.dasaf-field-invalid,
textarea.dasaf-field-invalid {
	border-color: #d63638 !important;
	background: #fef6f7 !important;
	box-shadow: 0 0 0 1px #d63638 !important;
}
input.dasaf-field-invalid:focus,
select.dasaf-field-invalid:focus,
textarea.dasaf-field-invalid:focus {
	border-color: #d63638 !important;
	box-shadow: 0 0 0 2px rgba(214, 54, 56, 0.25) !important;
}

.dasaf-form-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-top: 16px;
	border-top: 1px solid #eee;
}

/* "Next Step" navigation button */
.dasaf-btn-next-step {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #e67e22;
	color: #fff;
	border: 1px solid #cf6d17;
	border-radius: 4px;
	padding: 8px 20px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
	text-decoration: none;
	line-height: 1.4;
}

.dasaf-btn-next-step:hover {
	background: #d35400;
	border-color: #b84700;
	color: #fff;
}

.dasaf-btn-next-step:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.dasaf-btn-next-step .dasaf-next-arrow {
	font-size: 16px;
	line-height: 1;
}

.dasaf-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #ddd;
	border-top-color: #2271b1;
	border-radius: 50%;
	animation: dasaf-spin 0.6s linear infinite;
}

@keyframes dasaf-spin {
	to { transform: rotate(360deg); }
}

.dasaf-save-status {
	font-size: 13px;
	color: #00a32a;
}

/* =========================================================================
   Tables
   ========================================================================= */

.dasaf-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.dasaf-table th {
	text-align: left;
	padding: 10px 12px;
	background: #f0f0f1;
	border-bottom: 1px solid #c3c4c7;
	font-weight: 600;
	color: #1d2327;
	font-size: 13px;
}

.dasaf-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #eee;
	vertical-align: middle;
}

.dasaf-table tbody tr:hover {
	background: #f6f7f7;
}

/* Clickable project name */
.dasaf-project-name-link {
	color: #2271b1;
	text-decoration: none;
	font-weight: 500;
	cursor: pointer;
}

.dasaf-project-name-link:hover {
	color: #135e96;
	text-decoration: underline;
}

/* Favorite star column */
.dasaf-col-fav {
	width: 40px;
	text-align: center;
}

.dasaf-fav-toggle {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	padding: 2px 4px !important;
	color: #c3c4c7;
	transition: color 0.15s;
	text-shadow: none !important;
}

.dasaf-fav-toggle:hover {
	background: none !important;
	border: none !important;
	color: #f0b429 !important;
}

.dasaf-fav-toggle--active {
	color: #f0b429;
}

.dasaf-fav-toggle--active:hover {
	color: #c3c4c7 !important;
}

/* Picker dividers (Favorites / All Addresses) */
.dasaf-picker-divider {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
	padding: 8px 12px 4px;
	border-bottom: 1px solid #eee;
	margin-bottom: 4px;
}

/* =========================================================================
   Filing History Table
   ========================================================================= */

/* Date / time display */
.dasaf-filing-date {
	display: block;
	font-weight: 500;
}

.dasaf-filing-time {
	display: block;
	font-size: 12px;
	color: #888;
}

/* Form type badges */
.dasaf-form-type-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 500;
	background: #f0f0f1;
	color: #555;
	white-space: nowrap;
}

/* Form type color key legend */
.dasaf-form-type-legend {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 12px;
	padding: 8px 12px;
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
	font-size: 12px;
}
.dasaf-form-type-legend__label {
	font-weight: 600;
	color: #666;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

/* Form type color-coded pill variants */
.dasaf-form-type-das140,
.dasaf-form-type-das142 {
	background: #dcfce7;
	color: #166534;
}
.dasaf-form-type-cond_progress,
.dasaf-form-type-uncond_progress {
	background: #ffedd5;
	color: #9a3412;
}
.dasaf-form-type-cond_final,
.dasaf-form-type-uncond_final {
	background: #dbeafe;
	color: #1e40af;
}
.dasaf-form-type-prelien,
.dasaf-form-type-prelien_pub {
	background: #f3e8ff;
	color: #6b21a8;
}
.dasaf-form-type-form119 {
	background: #ccfbf1;
	color: #115e59;
}

/* Destination summary */
.dasaf-dest-summary-item {
	white-space: nowrap;
}

.dasaf-filing-detail-toggle {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 2px 4px !important;
	cursor: pointer;
	color: #2271b1;
	font-size: 13px;
	text-shadow: none !important;
}

.dasaf-filing-detail-toggle:hover {
	background: none !important;
	border: none !important;
	color: #135e96 !important;
}

.dasaf-chevron {
	display: inline-block;
	font-size: 9px;
	transition: transform 0.15s;
}

.dasaf-chevron--open {
	transform: rotate(90deg);
}

/* Expandable detail row */
.dasaf-filing-detail-row td {
	background: #f9f9f9;
	border-bottom: 2px solid #ddd;
	padding: 8px 12px 8px 24px;
}

.dasaf-filing-dests {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dasaf-filing-dest {
	font-size: 13px;
	color: #444;
}

.dasaf-filing-dest-icon {
	margin-right: 4px;
}

.dasaf-filing-dest-name {
	font-weight: 500;
}

.dasaf-filing-dest-contact {
	color: #666;
}

.dasaf-filing-dest-status {
	font-size: 12px;
	margin-left: 6px;
}

.dasaf-dest-sent {
	color: #00a32a;
}

.dasaf-dest-pending {
	color: #ff8c00;
}

.dasaf-dest-processing {
	color: #2271b1;
}

.dasaf-dest-transit {
	color: #2271b1;
	font-weight: 600;
}

.dasaf-dest-delivered {
	color: #00a32a;
	font-weight: 600;
}

.dasaf-dest-returned {
	color: #d63638;
	font-weight: 600;
}

.dasaf-dest-failed {
	color: #d63638;
}

.dasaf-mail-tier-label {
	display: inline-block;
	background: #e8f0fe;
	color: #1a56db;
	font-size: 11px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 3px;
	vertical-align: middle;
}

.dasaf-tracking-link {
	font-size: 12px;
	margin-left: 6px;
	color: #2271b1;
	text-decoration: underline;
}

.dasaf-delivery-eta {
	font-size: 11px;
	color: #888;
	margin-left: 4px;
}

.dasaf-muted {
	color: #999;
}

/* =========================================================================
   View Toggle
   ========================================================================= */

.dasaf-view-toggle {
	display: inline-flex;
	border: 1px solid #ddd;
	border-radius: 4px;
	overflow: hidden;
	margin-right: 8px;
	vertical-align: middle;
}

.dasaf-view-toggle-btn,
.dasaf-view-toggle-btn:hover,
.dasaf-view-toggle-btn:focus,
.dasaf-view-toggle-btn:active {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	height: 32px;
	padding: 0 10px !important;
	border: none !important;
	background: #fff !important;
	color: #999 !important;
	cursor: pointer;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-shadow: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	transition: background 0.15s, color 0.15s;
}

.dasaf-view-toggle-btn + .dasaf-view-toggle-btn {
	border-left: 1px solid #ddd !important;
}

.dasaf-view-toggle-btn:hover {
	background: #f5f5f5 !important;
	color: #555 !important;
}

.dasaf-view-toggle-btn.active,
.dasaf-view-toggle-btn.active:hover,
.dasaf-view-toggle-btn.active:focus {
	background: #f0f0f0 !important;
	color: #1d2327 !important;
}

/* =========================================================================
   Bulk Action Bar (Filing History)
   ========================================================================= */

.dasaf-bulk-action-bar {
	position: sticky;
	bottom: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 20px;
	background: #1d2327;
	color: #fff;
	border-radius: 8px 8px 0 0;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.15);
	margin-top: 16px;
}

.dasaf-bulk-count {
	font-size: 14px;
	font-weight: 600;
	margin-right: 4px;
}

.dasaf-bulk-download-btn {
	border-color: #2271b1 !important;
}

.dasaf-bulk-clear-btn {
	color: #ccc !important;
	border-color: #555 !important;
	background: transparent !important;
}
.dasaf-bulk-clear-btn:hover {
	color: #fff !important;
	border-color: #999 !important;
}

.dasaf-filing-checkbox,
.dasaf-addr-checkbox {
	cursor: pointer;
	width: 16px;
	height: 16px;
}

/* Filing history inline preview row */
.dasaf-filing-preview-row > td {
	padding: 0 !important;
	border-top: none !important;
}
.dasaf-filing-preview {
	border: 1px solid #ddd;
	border-top: none;
	overflow: hidden;
	background: #f0f0f0;
	position: relative;
}
.dasaf-filing-preview__loader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #f0f0f0;
	z-index: 2;
}
.dasaf-filing-preview__iframe {
	width: 100%;
	height: 70vh;
	min-height: 500px;
	border: none;
	display: block;
}

/* Filing history actions cell — override Beaver Builder theme button styles */
.dasaf-actions-cell .button,
.dasaf-actions-cell a.button,
.dasaf-actions-cell button.button {
	display: inline-block !important;
	padding: 4px 12px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
	border-radius: 4px !important;
	border: 1px solid #ddd !important;
	background: #f6f7f7 !important;
	color: #2c3338 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 0.15s;
}
.dasaf-actions-cell .button:hover,
.dasaf-actions-cell a.button:hover,
.dasaf-actions-cell button.button:hover {
	background: #f0f0f1 !important;
	border-color: #999 !important;
	color: #1d2327 !important;
}
.dasaf-actions-cell .button + .button {
	margin-left: 4px;
}
.dasaf-actions-cell .dasaf-filing-preview-btn {
	color: #2271b1 !important;
	border-color: #2271b1 !important;
	background: #f0f6fc !important;
}
.dasaf-actions-cell .dasaf-filing-preview-btn:hover {
	background: #e1edf8 !important;
	color: #135e96 !important;
}
.dasaf-actions-cell .dasaf-filing-preview-btn.active {
	background: #2271b1 !important;
	color: #fff !important;
	border-color: #2271b1 !important;
}

/* Group header select-all button */
.dasaf-filing-group-select-all {
	float: right;
	font-size: 12px;
	font-weight: 400;
	color: #2271b1;
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
	margin-left: auto;
}
.dasaf-filing-group-select-all:hover {
	text-decoration: underline;
}

.dasaf-col-checkbox {
	width: 30px;
	text-align: center;
}

.dasaf-bulk-delete-btn {
	color: #fff !important;
	background: #d63638 !important;
	border-color: #d63638 !important;
}
.dasaf-bulk-delete-btn:hover {
	background: #b32d2e !important;
	border-color: #b32d2e !important;
}

/* =========================================================================
   Filing Groups (Grouped by Project)
   ========================================================================= */

.dasaf-filing-group {
	margin-bottom: 16px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	overflow: hidden;
}

.dasaf-filing-group-header {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 12px 16px;
	border: none;
	background: #f8f9fa;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: #1d2327;
	text-align: left;
	transition: background 0.15s;
}

.dasaf-filing-group-header:hover {
	background: #f0f1f2;
}

.dasaf-filing-group-header .dasaf-chevron {
	margin-right: 8px;
}

.dasaf-filing-group-name {
	flex: 1;
}

.dasaf-filing-group-count {
	font-size: 12px;
	font-weight: 400;
	color: #666;
	margin-left: 12px;
}

.dasaf-filing-group-body {
	border-top: 1px solid #e0e0e0;
}

/* Date group separator in flat list view */
.dasaf-filing-date-group td {
	padding: 8px 16px 4px;
	font-size: 11px;
	font-weight: 600;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-bottom: 1px solid #e8e8e8;
	background: #fafafa;
}

.dasaf-filing-group-body .dasaf-table {
	margin-bottom: 0;
	border: none;
	border-radius: 0;
}

/* =========================================================================
   Status Badges
   ========================================================================= */

.dasaf-status-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 500;
}

.dasaf-status-active {
	background: #e6f7e6;
	color: #00700e;
}

/* Project type badges */
.dasaf-type-badge {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 500;
	margin-left: 6px;
	vertical-align: middle;
}
.dasaf-type-public {
	background: #e8f0fe;
	color: #1a56db;
}
.dasaf-type-private {
	background: #fef3c7;
	color: #92400e;
}
.dasaf-type-direct {
	background: #dcfce7;
	color: #166534;
}
.dasaf-type-sub {
	background: #f3e8ff;
	color: #6b21a8;
}

/* Project type radio group */
.dasaf-radio-group {
	display: flex;
	gap: 20px;
	margin-top: 4px;
}
.dasaf-radio-label {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 400;
}
.dasaf-radio-label input[type="radio"] {
	margin: 0;
}

.dasaf-status-completed {
	background: #e8f0fe;
	color: #1a56db;
}

.dasaf-status-archived {
	background: #f0f0f1;
	color: #666;
}

/* =========================================================================
   Empty States
   ========================================================================= */

.dasaf-empty-state {
	text-align: center;
	padding: 40px 20px;
	color: #888;
	font-size: 15px;
	background: #f9f9f9;
	border-radius: 8px;
	border: 1px dashed #ddd;
}

/* =========================================================================
   Form Wizard
   ========================================================================= */

.dasaf-wizard-steps {
	display: flex;
	justify-content: center;
	gap: 0;
	margin-bottom: 32px;
}

.dasaf-wizard-step {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	font-size: 14px;
	color: #999;
	cursor: pointer;
	transition: color 0.15s;
}

.dasaf-wizard-step:hover {
	color: #666;
}

.dasaf-wizard-step.active {
	color: #2271b1;
	font-weight: 600;
}

.dasaf-wizard-step.active:hover {
	color: #2271b1;
}

.dasaf-wizard-step.completed {
	color: #00a32a;
}

.dasaf-wizard-step.completed:hover {
	color: #008a20;
	text-decoration: underline;
}

.dasaf-wizard-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #ddd;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

.dasaf-wizard-step.active .dasaf-wizard-step-number {
	background: #2271b1;
}

.dasaf-wizard-step.completed .dasaf-wizard-step-number {
	background: #00a32a;
}

.dasaf-wizard-step-connector {
	width: 40px;
	height: 2px;
	background: #ddd;
	margin: 0 8px;
	align-self: center;
}

/* =========================================================================
   Step 2 Header & Tools Toggle
   ========================================================================= */

/* Tools toggle sits inside the left fields column */
.dasaf-tools-toggle {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 8px;
	font-size: 13px !important;
	padding: 4px 12px !important;
	border-radius: 4px !important;
	cursor: pointer;
	background: #f0f0f1 !important;
	color: #50575e !important;
	border: 1px solid #c3c4c7 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-weight: normal !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}
.dasaf-tools-toggle:hover {
	background: #e2e2e3 !important;
	color: #1d2327 !important;
	border-color: #8c8f94 !important;
}
.dasaf-tools-toggle__icon {
	font-size: 14px;
}
.dasaf-tools-toggle__icon img.emoji {
	width: 14px !important;
	height: 14px !important;
}
.dasaf-tools-toggle--hidden {
	opacity: 0.6;
}

/* When tools panel is hidden, go full-width fields */
.dasaf-split-view--tools-hidden {
	grid-template-columns: 1fr !important;
}
.dasaf-split-view--tools-hidden .dasaf-split-view__preview,
.dasaf-split-view--tools-hidden .dasaf-split-view__resizer {
	display: none;
}
.dasaf-split-view--tools-hidden .dasaf-next-empty-btn,
.dasaf-split-view--tools-hidden .dasaf-wizard-save-bar {
	display: none;
}

/* Expand form grid to 3 columns when tools hidden */
.dasaf-split-view--tools-hidden .dasaf-split-view__fields .dasaf-form-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* =========================================================================
   Split View (Step 3 — Fill Fields)
   ========================================================================= */

.dasaf-split-view {
	display: grid;
	grid-template-columns: 55% 6px 1fr;
	gap: 0;
	align-items: start;
}

.dasaf-split-view__fields {
	min-width: 0;
	position: relative;
	overflow: hidden;
	padding-right: 12px;
	container-type: inline-size;
	container-name: fields-panel;
}

.dasaf-split-view__resizer {
	width: 6px;
	cursor: col-resize;
	background: #e5e7eb;
	border-radius: 3px;
	transition: background 0.15s;
	position: sticky;
	top: 40px;
	height: calc(100vh - 40px);
	z-index: 10;
}
.dasaf-split-view__resizer:hover,
.dasaf-split-view__resizer.dasaf-resizer--active {
	background: #3b82f6;
}

.dasaf-split-view__preview {
	position: sticky;
	top: 40px;
	max-height: calc(100vh - 40px);
	overflow-y: scroll;
	padding-left: 12px;
}

.admin-bar .dasaf-split-view__preview {
	top: 40px;
}

/* Reduce form grid to 2 columns inside narrower fields panel */
.dasaf-split-view__fields .dasaf-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Switch to single column when fields panel is narrow */
@container fields-panel (max-width: 550px) {
	.dasaf-form-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Preview panel chrome */
.dasaf-split-preview {
	background: #f8f9fa;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 12px;
}

/* Tabs for multi-form */
.dasaf-split-preview__tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

.dasaf-split-preview__tabs:empty {
	display: none;
}

.dasaf-split-preview__tab {
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 500;
	background: #e9ecef;
	border: 1px solid #d0d5dd;
	border-radius: 4px;
	cursor: pointer;
	color: #555;
	transition: all 0.15s;
}

.dasaf-split-preview__tab:hover {
	background: #dbeafe;
	border-color: #2271b1;
	color: #2271b1;
}

.dasaf-split-preview__tab--active {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
	font-weight: 600;
}

/* Image container — US Letter aspect ratio */
.dasaf-split-preview__image-wrap {
	position: relative;
	line-height: 0;
	aspect-ratio: 612 / 792;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	cursor: crosshair;
	container-type: inline-size;
}

.dasaf-split-preview__img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: fill;
}

/* Active field highlight */
.dasaf-split-preview__highlight {
	position: absolute;
	pointer-events: none;
	z-index: 10;
	background: rgba(255, 140, 0, 0.30);
	border: 2px solid #ff8c00;
	border-radius: 2px;
	box-shadow: 0 0 12px rgba(255, 140, 0, 0.5);
	transition: all 0.25s ease;
	opacity: 0;
}

.dasaf-split-preview__highlight--visible {
	opacity: 1;
}

/* Field rect overlays (clickable) */
.dasaf-split-preview__rects {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 5;
}

.dasaf-split-preview__rect {
	position: absolute;
	border-radius: 1px;
	pointer-events: all;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}

.dasaf-split-preview__rect--auto {
	background: rgba(34, 113, 177, 0.08);
	border: 1px solid rgba(34, 113, 177, 0.20);
}

.dasaf-split-preview__rect--filled {
	background: rgba(0, 163, 42, 0.12);
	border: 1px solid rgba(0, 163, 42, 0.25);
}

.dasaf-split-preview__rect--empty {
	background: rgba(255, 140, 0, 0.08);
	border: 1px dashed rgba(255, 140, 0, 0.30);
}

.dasaf-split-preview__rect:hover {
	background: rgba(255, 140, 0, 0.25);
	border-color: #ff8c00;
	border-style: solid;
	z-index: 8;
}

/* Field value text inside rect overlays */
.dasaf-split-preview__rect-text {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	/* px fallback first: older browsers (e.g. Chrome < 111) don't support the
	   `cqw` container-query unit, so without this the font falls back to a large
	   default and the text spills out of its box (Windows-only reports). Modern
	   browsers override with the cqw line below. */
	font-size: 8px;
	font-size: 1.307cqw;
	line-height: 1.8;
	padding: 1px 2px;
	color: #1a1a1a;
	font-family: 'Courier New', Courier, monospace;
	pointer-events: none;
	box-sizing: border-box;
}
.dasaf-split-preview__rect-text--multiline {
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
	align-items: flex-start;
	line-height: 1.8;
	display: block;
}
.dasaf-split-preview__rect-text--hidden {
	display: none;
}
.dasaf-split-preview__rect-text--check {
	justify-content: center;
	font-size: 9px; /* px fallback (see .dasaf-split-preview__rect-text) */
	font-size: 1.5cqw;
	font-weight: bold;
}

/* Make checkbox rects look like actual checkboxes */
.dasaf-split-preview__rect[data-option-index] {
	border-radius: 0 !important;
	overflow: visible !important;
}
.dasaf-split-preview__rect[data-option-index].dasaf-split-preview__rect--empty {
	background: #fff;
	border: 1px solid #333;
	box-shadow: 0 0 0 2px rgba(255, 140, 0, 0.35);
}
.dasaf-split-preview__rect[data-option-index].dasaf-split-preview__rect--filled {
	background: #fff;
	border: 1px solid #333;
	box-shadow: 0 0 0 2px rgba(0, 163, 42, 0.4);
}
.dasaf-split-preview__rect[data-option-index] .dasaf-split-preview__rect-text--check {
	overflow: visible !important;
	padding: 0 !important;
	font-size: 4.2cqw;
	line-height: 1;
	color: #1a7a2e;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Signature image inside rect overlay */
.dasaf-split-preview__rect-sig {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	pointer-events: none;
}

/* Signature preview on Step 2 field panel */
.dasaf-signature-preview {
	background: #fafafa;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	padding: 4px 8px;
	display: flex;
	align-items: center;
}
.dasaf-signature-preview img {
	max-height: 40px;
	max-width: 100%;
	object-fit: contain;
}

/* Gate Notice (no company profile) */
.dasaf-gate-notice {
	text-align: center;
	padding: 60px 20px;
	max-width: 500px;
	margin: 0 auto;
}
.dasaf-gate-notice h2 {
	margin-bottom: 12px;
}
.dasaf-gate-notice p {
	margin-bottom: 24px;
	color: #555;
	font-size: 15px;
	line-height: 1.6;
}
.dasaf-gate-notice .button-hero {
	font-size: 16px !important;
	padding: 12px 30px !important;
}

/* Next Empty Field button */
.dasaf-next-empty-btn {
	width: 100%;
	margin-bottom: 8px;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.dasaf-next-empty-btn--complete {
	background: #27ae60 !important;
	border-color: #219a52 !important;
	color: #fff !important;
	font-weight: 600;
}

/* Empty Fields Review Modal */
.dasaf-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.dasaf-modal-overlay .dasaf-modal-content {
	background: #fff;
	border-radius: 8px;
	width: 90%;
	max-width: 90%;
	max-height: 80vh;
	overflow: auto;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	padding: 24px;
}
.dasaf-modal-overlay .dasaf-modal-content h3 {
	margin-top: 0;
	margin-bottom: 12px;
}
.dasaf-empty-fields-list {
	max-height: 40vh;
	overflow-y: auto;
	margin: 16px 0;
	padding: 12px;
	background: #f9f9f9;
	border: 1px solid #eee;
	border-radius: 4px;
}
.dasaf-empty-fields-group {
	margin-bottom: 12px;
}
.dasaf-empty-fields-group:last-child {
	margin-bottom: 0;
}
.dasaf-empty-fields-group ul {
	margin: 4px 0 0 20px;
	padding: 0;
	font-size: 13px;
	color: #666;
}
.dasaf-empty-fields-group ul li {
	margin-bottom: 2px;
}
.dasaf-empty-field-link {
	color: #2271b1;
	text-decoration: none;
	cursor: pointer;
}
.dasaf-empty-field-link:hover {
	color: #135e96;
	text-decoration: underline;
}
.dasaf-modal-actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

/* Generation overlay */
.dasaf-generate-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.92);
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: dasaf-overlay-fadein 0.25s ease;
}
@keyframes dasaf-overlay-fadein {
	from { opacity: 0; }
	to { opacity: 1; }
}
.dasaf-generate-overlay__content {
	text-align: center;
	padding: 40px;
}
.dasaf-generate-overlay__spinner {
	width: 56px;
	height: 56px;
	border: 5px solid #e5e7eb;
	border-top-color: #d35400;
	border-radius: 50%;
	margin: 0 auto 20px;
	animation: dasaf-spin 0.8s linear infinite;
}
@keyframes dasaf-spin {
	to { transform: rotate(360deg); }
}
.dasaf-generate-overlay__title {
	font-size: 22px;
	font-weight: 600;
	color: #1d2327;
	margin: 0 0 8px;
}
.dasaf-generate-overlay__detail {
	font-size: 15px;
	color: #666;
	margin: 0;
}

/* Project filter badge in Filing History */
.dasaf-project-filter-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	background: #e8f4fd;
	border: 1px solid #b3d7f2;
	border-radius: 4px;
	font-size: 13px;
	color: #1a5276;
	white-space: nowrap;
}
.dasaf-project-filter-clear {
	background: none;
	border: none;
	color: #1a5276;
	font-size: 16px;
	cursor: pointer;
	padding: 0 2px;
	line-height: 1;
}
.dasaf-project-filter-clear:hover {
	color: #e02424;
}

/* Legend */
/* Toolbar wrapper: legend + action buttons on one row */
.dasaf-split-preview__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid #eee;
}

.dasaf-split-preview__toolbar-actions {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
}

.dasaf-split-preview__legend {
	display: flex;
	gap: 12px;
	font-size: 11px;
	color: #666;
	flex-wrap: wrap;
}

/* Inline count badges next to legend labels */
.dasaf-legend-count {
	font-weight: 600;
	font-size: 10px;
	min-width: 14px;
	text-align: center;
	display: inline-block;
}
.dasaf-split-preview__legend-item--auto .dasaf-legend-count { color: #2271b1; }
.dasaf-split-preview__legend-item--filled .dasaf-legend-count { color: #00a32a; }
.dasaf-split-preview__legend-item--empty .dasaf-legend-count { color: #ff8c00; }

.dasaf-split-preview__legend-item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.dasaf-split-preview__legend-item::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 8px;
	border-radius: 2px;
}

.dasaf-split-preview__legend-item--auto::before {
	background: rgba(34, 113, 177, 0.20);
	border: 1px solid rgba(34, 113, 177, 0.35);
}

.dasaf-split-preview__legend-item--filled::before {
	background: rgba(0, 163, 42, 0.25);
	border: 1px solid rgba(0, 163, 42, 0.4);
}

.dasaf-split-preview__legend-item--empty::before {
	background: rgba(255, 140, 0, 0.15);
	border: 1px dashed rgba(255, 140, 0, 0.5);
}

.dasaf-split-preview__legend-item--active::before {
	background: rgba(255, 140, 0, 0.35);
	border: 2px solid #ff8c00;
}

/* =========================================================================
   Statistics Panel (below legend in preview panel)
   ========================================================================= */

/* Toggle button in legend row */
.dasaf-stats-toggle {
	background: none !important;
	border: 1px solid #ddd !important;
	border-radius: 4px !important;
	padding: 2px 6px !important;
	font-size: 13px;
	cursor: pointer;
	color: #888;
	line-height: 1;
	transition: all 0.15s;
	box-shadow: none !important;
	text-shadow: none !important;
}

.dasaf-stats-toggle:hover {
	background: #f0f0f1 !important;
	border-color: #999 !important;
	color: #555;
}

.dasaf-stats-toggle--active {
	background: #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
}

.dasaf-stats-toggle--active:hover {
	background: #1a5a8e !important;
	border-color: #1a5a8e !important;
}

/* Panel container — opens between toolbar and PDF preview */
.dasaf-stats-panel {
	border-bottom: 1px solid #eee;
	padding-bottom: 10px;
	margin-bottom: 8px;
}

.dasaf-stats-panel__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.dasaf-stats-panel__title {
	font-size: 11px;
	font-weight: 600;
	color: #444;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.dasaf-stats-panel__timer {
	font-size: 11px;
	color: #888;
	font-variant-numeric: tabular-nums;
	display: flex;
	align-items: center;
	gap: 3px;
}

.dasaf-stats-panel__timer-icon {
	font-size: 12px;
}

/* Stats sections */
.dasaf-stats-section {
	margin-bottom: 10px;
}

.dasaf-stats-section:last-child {
	margin-bottom: 0;
}

.dasaf-stats-section__label {
	font-size: 11px;
	font-weight: 500;
	color: #555;
	margin-bottom: 4px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.dasaf-stats-section__pct {
	font-weight: 400;
	color: #888;
	font-size: 10px;
}

/* Stacked progress bar */
.dasaf-stats-bar {
	display: flex;
	height: 16px;
	border-radius: 3px;
	overflow: hidden;
	background: #f0f0f1;
	border: 1px solid #e0e0e0;
}

.dasaf-stats-bar__seg {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 9px;
	font-weight: 600;
	color: #fff;
	min-width: 0;
	transition: width 0.3s ease;
}

.dasaf-stats-bar__seg--auto {
	background: #2271b1;
}

.dasaf-stats-bar__seg--filled {
	background: #00a32a;
}

.dasaf-stats-bar__seg--empty {
	background: #ff8c00;
}

/* Count labels below bar */
.dasaf-stats-counts {
	display: flex;
	gap: 8px;
	margin-top: 3px;
	font-size: 10px;
	flex-wrap: wrap;
}

.dasaf-stats-count {
	color: #888;
}

.dasaf-stats-count--auto {
	color: #2271b1;
}

.dasaf-stats-count--filled {
	color: #00a32a;
}

.dasaf-stats-count--empty {
	color: #ff8c00;
}

.dasaf-stats-count--total {
	margin-left: auto;
	font-weight: 600;
	color: #444;
}

/* Aggregate section slightly more prominent */
.dasaf-stats-section--aggregate .dasaf-stats-bar {
	height: 20px;
}

.dasaf-stats-section--aggregate .dasaf-stats-bar__seg {
	font-size: 10px;
}

/* Per-form sections get a subtle left border for grouping */
.dasaf-stats-section:not(.dasaf-stats-section--aggregate) {
	padding-left: 8px;
	border-left: 2px solid #e0e0e0;
}

/* Footer */
.dasaf-stats-panel__footer {
	margin-top: 6px;
	padding-top: 4px;
	border-top: 1px solid #f0f0f1;
}

.dasaf-stats-panel__last-updated {
	font-size: 10px;
	color: #aaa;
	font-style: italic;
}

/* Location buttons are visible in split view — they scroll the PDF preview to the field. */

/* Focused field orange ring (visual link to PDF highlight) */
.dasaf-split-view__fields .dasaf-field input:focus,
.dasaf-split-view__fields .dasaf-field select:focus,
.dasaf-split-view__fields .dasaf-field textarea:focus,
.dasaf-split-view__fields .dasaf-signature-preview--active {
	border-color: #ff8c00;
	box-shadow: 0 0 0 2px rgba(255, 140, 0, 0.2);
	outline: none;
}

/* Mobile toggle — hidden on desktop */
.dasaf-split-preview-toggle {
	display: none;
}

/* =========================================================================
   Buttons
   ========================================================================= */

.dasaf-dashboard-wrap .button {
	cursor: pointer;
}

.dasaf-dashboard-wrap .button-primary {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.dasaf-dashboard-wrap .button-primary:hover {
	background: #135e96;
}

.dasaf-qb-connect-btn {
	background: #2ca01c !important;
	border-color: #2ca01c !important;
}

.dasaf-qb-connect-btn:hover {
	background: #238e15 !important;
}

/* =========================================================================
   Welcome Banner
   ========================================================================= */

.dasaf-welcome-banner {
	position: relative;
	background: linear-gradient(135deg, #f0f7ff 0%, #e8f4f8 100%);
	border: 1px solid #c3d8e8;
	border-left: 4px solid #2271b1;
	border-radius: 6px;
	padding: 24px 40px 24px 24px;
	margin-bottom: 20px;
}

.dasaf-welcome-banner__close,
.fl-page .dasaf-welcome-banner__close,
.fl-page button.dasaf-welcome-banner__close {
	position: absolute;
	top: 12px;
	right: 12px;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	font-size: 22px;
	line-height: 1;
	color: #8c8f94 !important;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 4px;
	transition: all 0.15s ease;
	width: auto;
	min-width: 0;
	min-height: 0;
}

.dasaf-welcome-banner__close:hover,
.fl-page .dasaf-welcome-banner__close:hover,
.fl-page button.dasaf-welcome-banner__close:hover {
	background: rgba(0, 0, 0, 0.06) !important;
	color: #50575e !important;
}

.dasaf-welcome-banner__title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 600;
	color: #1d2327;
}

.dasaf-welcome-banner__credits {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 600;
	color: #2271b1;
}

.dasaf-welcome-banner__body {
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.6;
	color: #50575e;
}

.dasaf-welcome-banner__steps {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.dasaf-welcome-step {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: #ffffff;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	text-decoration: none;
	color: #1d2327;
	font-size: 13px;
	font-weight: 500;
	transition: all 0.15s ease;
}

.dasaf-welcome-step:hover {
	border-color: #2271b1;
	color: #2271b1;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.dasaf-welcome-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: #2271b1;
	color: #ffffff;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	flex-shrink: 0;
}

.dasaf-welcome-step__number--done {
	background: #4ab866;
}

.dasaf-welcome-step--done .dasaf-welcome-step__label {
	text-decoration: line-through;
	opacity: 0.6;
}

.dasaf-welcome-step__arrow {
	color: #c3c4c7;
	font-size: 18px;
	font-weight: 300;
}

/* =========================================================================
   Access Status Bar
   ========================================================================= */

.dasaf-access-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 20px;
}

.dasaf-access-bar .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	line-height: 18px;
}

.dasaf-access-credits {
	background: #f0f6fc;
	border: 1px solid #c3d8e8;
	color: #2271b1;
}

/* =========================================================================
   Data Retention Notice
   ========================================================================= */

.dasaf-retention-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 18px;
	margin-bottom: 20px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.6;
}
.dasaf-retention--info {
	background: #f0f7ff;
	border-left: 4px solid #2271b1;
	color: #1d2327;
}
.dasaf-retention--warning {
	background: #fff8e5;
	border-left: 4px solid #dba617;
	color: #1d2327;
}
.dasaf-retention--critical {
	background: #fef1f1;
	border-left: 4px solid #d63638;
	color: #1d2327;
	animation: dasaf-pulse 2s ease-in-out infinite;
}
@keyframes dasaf-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.85; }
}
.dasaf-retention-notice__content {
	flex: 1;
}
.dasaf-retention-notice__content strong {
	display: block;
	margin-bottom: 4px;
}
.dasaf-retention-notice__actions {
	display: inline-flex;
	gap: 16px;
	margin-top: 8px;
}
.dasaf-retention-link {
	font-weight: 600;
	text-decoration: none;
	color: #2271b1;
	padding: 4px 12px;
	border-radius: 4px;
	border: 1px solid #2271b1;
	font-size: 13px;
	transition: background 0.15s, color 0.15s;
}
.dasaf-retention-link:hover {
	background: #2271b1;
	color: #fff;
}
.dasaf-retention-link--primary {
	background: #2271b1;
	color: #fff;
}
.dasaf-retention-link--primary:hover {
	background: #135e96;
	color: #fff;
}

.dasaf-access-subscription {
	background: #e6f7e6;
	border: 1px solid #b8dbb8;
	color: #00700e;
}

.dasaf-access-none {
	background: #fff8e5;
	border: 1px solid #fcd34d;
	color: #92400e;
	flex-wrap: wrap;
}
.dasaf-access-none strong {
	font-weight: 700;
}
.dasaf-access-none__detail {
	flex: 1 1 300px;
	font-weight: 400;
}
.dasaf-access-none__cta {
	font-weight: 700;
	text-decoration: none;
	color: #fff !important;
	background: #d97706;
	padding: 6px 14px;
	border-radius: 4px;
	border: 1px solid #d97706;
	transition: background 0.15s, border-color 0.15s;
	white-space: nowrap;
}
.dasaf-access-none__cta:hover {
	background: #b45309;
	border-color: #b45309;
	color: #fff !important;
}

/* =========================================================================
   Project Toolbar
   ========================================================================= */

.dasaf-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.dasaf-toolbar-left,
.dasaf-toolbar-right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dasaf-search-input {
	padding: 8px 12px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	font-size: 14px;
	min-width: 240px;
	transition: border-color 0.2s;
}

.dasaf-search-input:focus {
	border-color: #2271b1;
	outline: none;
	box-shadow: 0 0 0 1px #2271b1;
}

.dasaf-filter-select {
	padding: 8px 12px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
	cursor: pointer;
}

.dasaf-filter-select:focus {
	border-color: #2271b1;
	outline: none;
	box-shadow: 0 0 0 1px #2271b1;
}

/* Secondary filter row (form type + date range + clear). */
.dasaf-toolbar-filters {
	margin-top: -6px;
}

.dasaf-date-range {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.dasaf-date-input {
	padding: 8px 10px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	font-size: 14px;
	background: #fff;
	cursor: pointer;
}

.dasaf-date-input:focus {
	border-color: #2271b1;
	outline: none;
	box-shadow: 0 0 0 1px #2271b1;
}

.dasaf-date-sep {
	color: #646970;
}

/* =========================================================================
   Pagination
   ========================================================================= */

.dasaf-pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #eee;
	flex-wrap: wrap;
	gap: 8px;
}

.dasaf-pagination-info {
	font-size: 13px;
	color: #666;
}

.dasaf-pagination-buttons {
	display: flex;
	gap: 4px;
}

.dasaf-pagination-buttons .button {
	min-width: 36px;
	text-align: center;
}

/* =========================================================================
   Loading State
   ========================================================================= */

.dasaf-loading-state {
	text-align: center;
	padding: 40px 20px;
}

.dasaf-loading-state .dasaf-spinner {
	display: inline-block;
}

/* =========================================================================
   Actions Cell
   ========================================================================= */

/* Actions Dropdown */
.dasaf-actions-dropdown {
	position: relative;
	display: inline-block;
}

.dasaf-actions-dropdown__trigger {
	background: #e67e22 !important;
	border-color: #d35400 !important;
	color: #fff !important;
	cursor: pointer;
}

.dasaf-actions-dropdown__trigger:hover {
	background: #d35400 !important;
	border-color: #b84700 !important;
}

.dasaf-actions-dropdown__menu {
	position: absolute;
	top: 100%;
	right: 0;
	margin-top: 4px;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	z-index: 10;
	min-width: 180px;
	overflow: hidden;
}

.dasaf-actions-dropdown__item {
	display: block;
	width: 100%;
	padding: 8px 14px !important;
	font-size: 13px !important;
	color: #2c3338 !important;
	background: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	text-align: left;
	cursor: pointer;
	box-shadow: none !important;
	text-shadow: none !important;
	line-height: 1.4;
}

.dasaf-actions-dropdown__item:hover {
	background: #f0f6fc !important;
	color: #2271b1 !important;
}

.dasaf-actions-dropdown__item + .dasaf-actions-dropdown__item {
	border-top: 1px solid #f0f0f1 !important;
}

.dasaf-actions-dropdown__divider {
	height: 0;
	border-top: 1px solid #dcdcde;
	margin: 0;
}

.dasaf-actions-dropdown__item--delete {
	color: #d63638 !important;
}

.dasaf-actions-dropdown__item--delete:hover {
	background: #fcf0f1 !important;
	color: #d63638 !important;
}

/* =========================================================================
   Form Type Cards
   ========================================================================= */

/* Form Groups — wrapping group boxes */
#dasaf-form-groups {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.dasaf-form-group {
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 10px;
	background: #fafafa;
}

.dasaf-form-group__label {
	font-size: 11px;
	font-weight: 600;
	color: #50575e;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}

.dasaf-form-group__cards {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dasaf-form-type-card {
	width: 240px;
	padding: 8px;
	border: 2px solid #ddd;
	border-radius: 8px;
	cursor: pointer;
	text-align: center;
	transition: all 0.2s ease;
	background: #fff;
}

.dasaf-form-type-card:hover {
	border-color: #2271b1;
	background: #f0f6fc;
}

.dasaf-form-type-card--selected {
	border-color: #2271b1;
	background: #f0f6fc;
	box-shadow: 0 0 0 1px #2271b1;
}

.dasaf-form-type-card__title {
	font-size: 12px;
	font-weight: 600;
	color: #1d2327;
	line-height: 1.3;
}

/* Card status badges (In Progress / Filed) */
.dasaf-card-status-badge {
	display: block;
	font-size: 10px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 8px;
	margin-top: 4px;
	letter-spacing: 0.02em;
}
.dasaf-card-status-badge--in-progress {
	background: #fff3cd;
	color: #856404;
}
.dasaf-card-status-badge--filed {
	background: #d4edda;
	color: #155724;
}

/* Badge inside accordion toggle row */
.dasaf-dest-section-toggle .dasaf-card-status-badge {
	display: inline-block;
	margin: 0 0 0 8px;
	vertical-align: middle;
}

/* Form preview thumbnail in destination accordion */
.dasaf-dest-preview-thumb {
	margin-left: auto;
	flex-shrink: 0;
	width: 48px;
	height: 62px;
	border: 1px solid #ddd;
	border-radius: 3px;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}
.dasaf-dest-preview-thumb:hover {
	border-color: #2271b1;
	box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2);
}
.dasaf-dest-preview-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

/* Form preview modal */
.dasaf-form-preview-modal-content {
	max-width: 90vw;
	max-height: 95vh;
	width: 900px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.dasaf-form-preview-modal-body {
	overflow-y: auto;
	flex: 1;
	min-height: 0;
	text-align: center;
	padding: 10px;
}
.dasaf-form-preview-iframe {
	width: 100%;
	height: 80vh;
	border: 1px solid #eee;
}

.dasaf-form-preview-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 60px 20px;
	color: #666;
	font-size: 14px;
}

.dasaf-form-preview-modal-body img {
	max-width: 100%;
	height: auto;
	border: 1px solid #eee;
	border-radius: 4px;
}

/* =========================================================================
   Destinations
   ========================================================================= */

.dasaf-destinations-list {
	margin-top: 12px;
}

.dasaf-dest-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid #eee;
	border-radius: 4px;
	margin-bottom: 8px;
	background: #f9f9f9;
}

.dasaf-dest-row__icon {
	font-size: 18px;
	color: #666;
	min-width: 24px;
	text-align: center;
}

.dasaf-dest-row__info {
	flex: 1;
	font-size: 14px;
}

.dasaf-dest-row__label {
	font-weight: 600;
}

.dasaf-dest-row__detail {
	font-size: 13px;
	color: #666;
}

.dasaf-dest-row__remove {
	color: #d63638;
	cursor: pointer;
	background: none;
	border: none;
	font-size: 18px;
	padding: 4px 8px;
}

.dasaf-dest-row__remove:hover {
	color: #a02020;
}

.dasaf-dest-inline-form {
	padding: 16px;
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 6px;
}

/* =========================================================================
   Modal
   ========================================================================= */

.dasaf-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dasaf-modal-content {
	background: #fff;
	border-radius: 8px;
	width: 90%;
	max-width: 800px;
	max-height: 80vh;
	overflow: auto;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.dasaf-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
}

.dasaf-modal-header h4 {
	margin: 0;
}

.dasaf-modal-close {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-size: 24px;
	cursor: pointer;
	color: #666 !important;
	padding: 0 4px !important;
	line-height: 1;
	border-radius: 0 !important;
}

.dasaf-modal-close:hover,
.dasaf-modal-close:focus {
	color: #d63638 !important;
	background: none !important;
}

.dasaf-modal-body {
	padding: 20px;
	max-height: 70vh;
	overflow-y: auto;
}

/* Inline Add Address form inside picker modal */
#dasaf-picker-add-toggle {
	background: #f9f9f9 !important;
	border: 1px dashed #ccc !important;
	color: #2271b1 !important;
	font-weight: 600;
	text-shadow: none !important;
	box-shadow: none !important;
}

#dasaf-picker-add-toggle:hover {
	background: #f0f6fc !important;
	border-color: #2271b1 !important;
}

#dasaf-picker-add-form .dasaf-form-grid {
	gap: 10px;
}

#dasaf-picker-add-form .dasaf-field label {
	font-size: 12px;
	margin-bottom: 2px;
}

#dasaf-picker-add-form .dasaf-field input,
#dasaf-picker-add-form .dasaf-field select {
	padding: 6px 8px;
	font-size: 13px;
}

/* =========================================================================
   Address Picker Results (in modal)
   ========================================================================= */

.dasaf-address-picker-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid #eee;
	border-radius: 4px;
	margin-bottom: 6px;
	transition: background 0.15s;
}

.dasaf-address-picker-item:hover {
	background: #f0f6fc;
	border-color: #c3d8e8;
}

.dasaf-address-picker-item__info {
	flex: 1;
	cursor: pointer;
	min-width: 0;
}

.dasaf-address-picker-item__info:hover {
	color: #2271b1;
}

.dasaf-address-picker-item__actions {
	flex-shrink: 0;
}

.dasaf-picker-edit-btn {
	background: none !important;
	border: 1px solid #dcdcde !important;
	border-radius: 4px !important;
	cursor: pointer;
	font-size: 14px;
	padding: 4px 8px !important;
	line-height: 1;
	color: #666;
	transition: all 0.15s;
	box-shadow: none !important;
}

.dasaf-picker-edit-btn:hover {
	background: #f0f0f1 !important;
	border-color: #8c8f94 !important;
	color: #1d2327;
	box-shadow: none !important;
}

.dasaf-address-picker-item__label {
	font-weight: 600;
	font-size: 14px;
}

.dasaf-address-picker-item__detail {
	font-size: 13px;
	color: #666;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* =========================================================================
   Address Picker Toolbar (filter + sort in modals)
   ========================================================================= */

/* Search field with icon */
.dasaf-picker-search-wrap {
	position: relative;
	margin-bottom: 8px;
}
.dasaf-picker-search-wrap .dasaf-search-input {
	width: 100%;
	padding-right: 56px;
}
.dasaf-picker-search-wrap--inline {
	display: inline-block;
	position: relative;
}
.dasaf-picker-search-wrap button.dasaf-search-clear,
.dasaf-picker-search-wrap--inline button.dasaf-search-clear {
	position: absolute !important;
	right: 32px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 18px !important;
	color: #999 !important;
	cursor: pointer !important;
	width: auto !important;
	height: auto !important;
	padding: 2px 4px !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: none !important;
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
}
.dasaf-picker-search-wrap button.dasaf-search-clear--hidden,
.dasaf-picker-search-wrap--inline button.dasaf-search-clear--hidden {
	visibility: hidden !important;
	pointer-events: none !important;
}
.dasaf-picker-search-wrap button.dasaf-search-clear:hover,
.dasaf-picker-search-wrap--inline button.dasaf-search-clear:hover {
	color: #333 !important;
	background: transparent !important;
}
.dasaf-picker-search-wrap button.dasaf-search-clear:focus,
.dasaf-picker-search-wrap--inline button.dasaf-search-clear:focus {
	outline: none !important;
	box-shadow: none !important;
}
.dasaf-picker-search-icon {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 15px;
	opacity: 0.45;
	pointer-events: none;
}

.dasaf-picker-toolbar {
	display: flex;
	gap: 8px;
	margin-bottom: 10px;
}

.dasaf-picker-filter-group {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.dasaf-picker-filter-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #666;
}

.dasaf-picker-filter {
	flex: 1;
	padding: 5px 8px;
	font-size: 13px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	min-height: 30px;
}

/* Load More button in picker modals */
.dasaf-picker-load-more-btn,
.dasaf-project-picker-load-more-btn {
	width: 100%;
}

.dasaf-picker-remaining,
.dasaf-project-picker-remaining {
	color: #666;
	font-size: 12px;
}

/* =========================================================================
   Inline Edit Form (accordion inside address picker modals)
   ========================================================================= */

.dasaf-picker-item--editing {
	background: #f0f6fc;
	border-color: #2271b1;
	border-left: 3px solid #2271b1;
}

.dasaf-inline-edit-form {
	border: 1px solid #c3d8e8;
	border-top: none;
	border-radius: 0 0 4px 4px;
	border-left: 3px solid #2271b1;
	background: #f8f9fa;
	margin-bottom: 6px;
	overflow: hidden;
}

.dasaf-inline-edit-form__inner {
	padding: 12px;
}

.dasaf-form-grid--inline {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 0;
}

.dasaf-form-grid--inline .dasaf-field {
	margin-bottom: 0;
}

.dasaf-form-grid--inline .dasaf-field label {
	font-size: 12px;
	margin-bottom: 2px;
	display: block;
}

.dasaf-form-grid--inline .dasaf-field input,
.dasaf-form-grid--inline .dasaf-field select {
	padding: 6px 8px;
	font-size: 13px;
	width: 100%;
	box-sizing: border-box;
}

.dasaf-inline-edit-form__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #e2e4e7;
	flex-wrap: wrap;
}

.dasaf-inline-edit-form__actions .button {
	font-size: 12px;
	padding: 4px 12px;
	min-height: 28px;
}

.dasaf-ie-status {
	font-size: 13px;
	margin-left: auto;
}

/* =========================================================================
   Persistent Save Toggle
   ========================================================================= */

.dasaf-persistent-save-toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}

#dasaf-persistent-save-btn.dasaf-persistent-save--active {
	background: #00a32a;
	color: #fff;
	border-color: #00a32a;
}

#dasaf-persistent-save-btn.dasaf-persistent-save--active:hover {
	background: #008a20;
	border-color: #008a20;
}

.dasaf-persistent-save-hint {
	font-size: 12px;
	color: #999;
	font-style: italic;
}

.dasaf-save-status {
	font-size: 13px;
	margin-left: 8px;
	transition: opacity 0.3s;
}

/* =========================================================================
   Wizard Auto-Save Bar (Step 2 — Fill Fields)
   ========================================================================= */

.dasaf-wizard-save-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding: 6px 12px;
	background: #f0f6f0;
	border: 1px solid #c3e6c3;
	border-radius: 6px;
	transition: background 0.3s, border-color 0.3s;
}

.dasaf-wizard-save-bar__indicator {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dasaf-wizard-save-bar__icon {
	font-size: 16px;
	line-height: 1;
}

.dasaf-wizard-save-bar__text {
	font-size: 13px;
	color: #555;
	font-style: italic;
}

/* Saving state */
.dasaf-wizard-save-bar--saving {
	background: #fef8e8;
	border-color: #f0d77b;
}

.dasaf-wizard-save-bar--saving .dasaf-wizard-save-bar__text {
	color: #8a6d00;
	font-style: normal;
	font-weight: 500;
}

/* Saved state */
.dasaf-wizard-save-bar--saved {
	background: #edf7ed;
	border-color: #a3d9a3;
}

.dasaf-wizard-save-bar--saved .dasaf-wizard-save-bar__text {
	color: #00a32a;
	font-style: normal;
	font-weight: 500;
}

/* Error state */
.dasaf-wizard-save-bar--error {
	background: #fef0f0;
	border-color: #f5c6c6;
}

.dasaf-wizard-save-bar--error .dasaf-wizard-save-bar__text {
	color: #d63638;
	font-style: normal;
	font-weight: 500;
}

/* Dirty / unsaved changes state */
.dasaf-wizard-save-bar--dirty {
	background: #fef8e8;
	border-color: #f0d77b;
}

.dasaf-wizard-save-bar--dirty .dasaf-wizard-save-bar__text {
	color: #8a6d00;
	font-style: normal;
}

/* Global save bar (below step indicators, visible on all steps except Step 2) */
.dasaf-wizard-save-bar--global {
	max-width: 260px;
	margin: 8px auto 0;
	justify-content: center;
}

/* =========================================================================
   Destination Accordion (per-form in wizard Step 4)
   ========================================================================= */

.dasaf-dest-accordion {
	margin-bottom: 16px;
}

.dasaf-dest-section {
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-bottom: 8px;
	background: #fff;
}

.dasaf-dest-section-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px 16px;
	background: #f9f9f9;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: #1d2327 !important;
	text-align: left;
	transition: background 0.15s;
}

.dasaf-dest-section-toggle:hover {
	background: #f0f6fc;
	color: #1d2327 !important;
	border: none !important;
	box-shadow: none !important;
	padding: 10px 16px !important;
}

.dasaf-dest-section-toggle:focus,
.dasaf-dest-section-toggle:active,
.dasaf-dest-section-toggle:focus-visible {
	color: #1d2327 !important;
	background: #f9f9f9;
	outline: none;
	box-shadow: none !important;
	border: none !important;
	padding: 10px 16px !important;
}

.dasaf-dest-section-toggle--open {
	border-radius: 6px 6px 0 0;
	border-bottom: 1px solid #ddd;
}

.dasaf-dest-section-toggle--open:focus,
.dasaf-dest-section-toggle--open:active,
.dasaf-dest-section-toggle--open:focus-visible {
	color: #1d2327 !important;
	background: #f9f9f9;
}

.dasaf-dest-section-content {
	padding: 12px 16px;
}

.dasaf-dest-version-badge {
	font-size: 11px;
	font-weight: 500;
	color: #2271b1;
	background: #e8f0fe;
	padding: 2px 8px;
	border-radius: 10px;
	margin-left: 6px;
}

.dasaf-dest-pull-hint {
	margin: 6px 0 0;
	font-size: 12px;
	color: #666;
	line-height: 1.5;
}

.dasaf-dest-pull-hint__icon {
	font-size: 13px;
}

.dasaf-dest-pull-hint strong {
	color: #333;
}

.dasaf-dest-pull-hint__item {
	margin-left: 20px;
}

.dasaf-dest-pull-hint__value {
	color: #555;
}

.dasaf-dest-pull-hint__empty {
	color: #b0b0b0;
	font-style: italic;
}

.dasaf-dest-section-count {
	font-size: 12px;
	font-weight: 400;
	color: #888;
	margin-left: auto;
}

.dasaf-pull-dests-from-form {
	background: #f0f6fc;
	border-color: #2271b1;
	color: #2271b1;
}

.dasaf-pull-dests-from-form:hover {
	background: #2271b1;
	border-color: #135e96;
	color: #fff;
}

.dasaf-dest-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
}

.dasaf-dest-row:last-child {
	border-bottom: none;
}

.dasaf-dest-row__icon {
	font-size: 16px;
	flex-shrink: 0;
	margin-top: 2px;
}

.dasaf-dest-row__info {
	flex: 1;
	font-size: 13px;
	line-height: 1.5;
	cursor: pointer;
}

.dasaf-dest-row__info:hover .dasaf-dest-row__label {
	color: #c65d21;
	text-decoration: underline;
}

.dasaf-dest-row__label {
	font-weight: 600;
}

.dasaf-dest-row__detail {
	color: #666;
	font-size: 12px;
}

.dasaf-dest-row__remove {
	background: none;
	border: none;
	color: #d63638;
	font-size: 18px;
	cursor: pointer;
	padding: 0 4px;
	line-height: 1;
	flex-shrink: 0;
}

.dasaf-dest-row__remove:hover {
	color: #a00;
}

/* Enriched Email Destinations row (Step 4) — shows which form is
   being sent, To/From lines, and a sent-status block that only
   appears after a successful Send Emails request. */
.dasaf-email-dest-row {
	padding: 10px 12px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	margin-bottom: 8px;
	background: #fff;
	transition: border-color 0.2s, background 0.2s;
}
.dasaf-email-dest-row--sent {
	border-color: #b8dbb8;
	background: #f5fbf5;
}
.dasaf-email-dest-row .dasaf-dest-row__header {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}
.dasaf-email-dest-row .dasaf-dest-row__form-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 10px;
	background: #e8f0fe;
	color: #1a56db;
	border: 1px solid #c3d9f0;
}
.dasaf-email-dest-row .dasaf-dest-row__form-badge em {
	font-style: normal;
	opacity: 0.75;
}
.dasaf-email-dest-row .dasaf-dest-row__detail {
	color: #444;
	font-size: 12px;
	line-height: 1.6;
}
.dasaf-email-dest-row .dasaf-dest-row__kv-key {
	display: inline-block;
	font-weight: 600;
	color: #666;
	min-width: 40px;
}
.dasaf-email-dest-row .dasaf-dest-row__kv-name {
	color: #888;
}
.dasaf-email-dest-row .dasaf-dest-row__sent-status {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px dashed #c8e0c8;
	font-size: 12px;
	color: #166534;
}
.dasaf-email-dest-row .dasaf-dest-sent-badge {
	font-weight: 600;
}
.dasaf-email-dest-row .dasaf-dest-row__sent-status a {
	color: #2271b1;
	text-decoration: none;
	font-weight: 500;
}
.dasaf-email-dest-row .dasaf-dest-row__sent-status a:hover {
	text-decoration: underline;
}

/* =========================================================================
   Collapsible Sections (Project form-data)
   ========================================================================= */

.dasaf-collapsible-section {
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-bottom: 12px;
	background: #fff;
}

.dasaf-collapsible-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 12px 16px;
	background: #f9f9f9;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: #1d2327;
	text-align: left;
	transition: background 0.15s;
}

.dasaf-collapsible-toggle:hover {
	background: #f0f6fc;
	color: #1d2327;
	border: none;
	box-shadow: none;
}

.dasaf-collapsible-toggle--open {
	border-radius: 6px 6px 0 0;
	border-bottom: 1px solid #ddd;
}

.dasaf-collapsible-arrow {
	font-size: 11px;
	color: #666;
	flex-shrink: 0;
	transition: transform 0.15s;
}

.dasaf-collapsible-content {
	padding: 16px;
}

/* =========================================================================
   Address Book Pick / Save Buttons
   ========================================================================= */

.dasaf-address-pick-btn {
	background: none;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	padding: 2px 6px;
	margin-left: 6px;
	vertical-align: middle;
	line-height: 1;
}

.dasaf-address-pick-btn:hover {
	background: #f0f0f1;
	border-color: #8c8f94;
}
.dasaf-address-pick-btn:focus {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
	background: #f0f0f1;
}

/* Wizard inline picker button (between fields) */
.dasaf-address-pick-btn--wizard {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 12px 0;
	font-size: 13px;
	font-weight: 500;
	padding: 6px 14px;
	background: #f0f6fc !important;
	border: 1px dashed #2271b1 !important;
	border-radius: 4px;
	color: #2271b1 !important;
	cursor: pointer;
	text-shadow: none !important;
	box-shadow: none !important;
	transition: background 0.15s, border-color 0.15s;
}

.dasaf-address-pick-btn--wizard:hover {
	background: #dbeafe !important;
	border-color: #135e96 !important;
	color: #135e96 !important;
}
.dasaf-address-pick-btn--wizard:focus {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
	background: #dbeafe !important;
}

.dasaf-address-pick-btn--wizard img.emoji {
	width: 16px;
	height: 16px;
}

/* Address group wrapper — groups related fields under their picker button */
.dasaf-address-group-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	border: 1px solid #d0d5dd;
	border-left: 3px solid #2271b1;
	border-radius: 6px;
	padding: 12px 14px 14px;
	margin: 10px 0 16px 0;
	background: #fafcff;
	grid-column: 1 / -1; /* span full width of parent grid */
}

.dasaf-address-group-wrap .dasaf-address-pick-btn--wizard {
	margin: 0;
}

/* Header row: flex container for address book button, toggle, and clear */
.dasaf-address-group-header {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 4px 0;
}

/* Group-level help text — full-width italic description sitting between the
   header and the grouped fields. Promoted from the first field's help_text. */
.dasaf-address-group-wrap .dasaf-address-group-help-text {
	grid-column: 1 / -1;
	margin: 0 0 6px 0;
	font-size: 12px;
	font-weight: 500;
	font-style: italic;
	line-height: 1.4;
	color: #646970;
}

/* Clear button — Beaver Builder override pattern */
.dasaf-address-group-clear,
.fl-page .dasaf-address-group-clear,
.fl-page button.dasaf-address-group-clear {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-size: 18px;
	line-height: 1;
	color: #8c8f94 !important;
	cursor: pointer;
	padding: 2px 6px;
	border-radius: 4px;
	transition: all 0.15s ease;
	width: auto;
	min-width: 0;
	min-height: 0;
	margin-left: auto;
}

.dasaf-address-group-clear:hover,
.fl-page .dasaf-address-group-clear:hover,
.fl-page button.dasaf-address-group-clear:hover {
	background: rgba(0, 0, 0, 0.06) !important;
	color: #d63638 !important;
}

.dasaf-address-group-clear.dasaf-hidden {
	display: none;
}

/* Manual edit toggle — iOS-style switch */
.dasaf-address-group-manual-toggle,
.fl-page .dasaf-address-group-manual-toggle,
.fl-page label.dasaf-address-group-manual-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	user-select: none;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0;
	min-height: 0;
}

.dasaf-address-group-manual-cb {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.dasaf-address-group-manual-slider {
	position: relative;
	display: inline-block;
	width: 34px;
	height: 18px;
	background: #ccc;
	border-radius: 9px;
	transition: background 0.2s;
	flex-shrink: 0;
}

.dasaf-address-group-manual-slider::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	background: #fff;
	border-radius: 50%;
	transition: transform 0.2s;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.dasaf-address-group-manual-cb:checked + .dasaf-address-group-manual-slider {
	background: #2271b1;
}

.dasaf-address-group-manual-cb:checked + .dasaf-address-group-manual-slider::after {
	transform: translateX(16px);
}

.dasaf-address-group-manual-label {
	font-size: 12px;
	color: #50575e;
	font-weight: 400;
}

/* Manual mode: editable field styles */
.dasaf-address-group--manual [data-address-group] {
	cursor: text;
}

.dasaf-address-group--manual [data-address-group]:not([readonly]) {
	border-style: solid;
	background-color: #fff;
}

.dasaf-address-group-wrap .dasaf-field {
	margin-bottom: 0;
}

.dasaf-address-group-wrap .dasaf-field-full {
	grid-column: 1 / -1;
}

/* Address-group fields: readonly but clickable to open picker */
[data-address-group][readonly] {
	background-color: #f0f4f8;
	cursor: pointer;
	border-style: dashed;
}

[data-address-group][readonly]:hover {
	background-color: #e3ecf6;
	border-color: #2271b1;
}

[data-address-group]:not([readonly]) {
	cursor: pointer;
}

[data-address-group]:not([readonly]):hover {
	border-color: #2271b1;
}

/* Address picker items (project modal) */
.dasaf-project-addr-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-bottom: 1px solid #f0f0f1;
	transition: background 0.15s;
}

.dasaf-project-addr-item__info {
	flex: 1;
	cursor: pointer;
	min-width: 0;
}

.dasaf-project-addr-item__info:hover {
	color: #2271b1;
}

.dasaf-project-addr-item:hover {
	background: #f0f6fc;
}

.dasaf-project-addr-item:last-child {
	border-bottom: none;
}

.dasaf-project-addr-item__actions {
	flex-shrink: 0;
}

.dasaf-pa-edit-btn {
	background: none;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	padding: 4px 8px;
	line-height: 1;
	color: #666;
	transition: all 0.15s;
}

.dasaf-pa-edit-btn:hover {
	background: #f0f0f1;
	border-color: #8c8f94;
	color: #1d2327;
}

/* Inline add form in picker modal */
.dasaf-project-addr-add-form {
	border-top: 1px solid #dcdcde;
	padding-top: 12px;
}

/* =========================================================================
   Field Form Tags (e.g. "DAS-140", "DAS-142")
   ========================================================================= */

/* Filing paid/draft badge — rendered on Step 4 download rows. */
.dasaf-filing-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 10px;
	margin: 0 8px;
	vertical-align: middle;
	white-space: nowrap;
}
.dasaf-filing-badge--draft {
	background: #fff8e5;
	color: #92400e;
	border: 1px solid #fcd34d;
}
.dasaf-filing-badge--paid {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #86efac;
}

/* Credit-spend toast stack — bottom-right, auto-dismissing. */
#dasaf-credit-toast-stack {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	gap: 8px;
	pointer-events: none;
}
.dasaf-credit-toast {
	background: #1d2327;
	color: #fff;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	max-width: 360px;
	box-shadow: 0 4px 18px rgba(0,0,0,0.25);
	animation: dasaf-credit-toast-in 0.25s ease-out both;
	pointer-events: auto;
}
.dasaf-credit-toast--out {
	animation: dasaf-credit-toast-out 0.3s ease-in both;
}
@keyframes dasaf-credit-toast-in {
	from { transform: translateY(20px); opacity: 0; }
	to   { transform: translateY(0);    opacity: 1; }
}
@keyframes dasaf-credit-toast-out {
	from { transform: translateY(0);    opacity: 1; }
	to   { transform: translateY(20px); opacity: 0; }
}

/* Inline info/warning banner used inside the Form Wizard steps (e.g.
   "No destinations selected" hint on Step 4). */
.dasaf-wizard-notice {
	margin: 16px 0;
	padding: 12px 14px;
	border-radius: 6px;
	border: 1px solid #c3d9f0;
	background: #eff6ff;
	color: #1e3a8a;
	font-size: 13px;
	line-height: 1.5;
}

.dasaf-wizard-notice--info {
	border-color: #bfdbfe;
	background: #eff6ff;
	color: #1e3a8a;
}

/* Duplicate-union warning (roster panel + Dispatch DAS-142 modal).
   Same-named roster rows collapse into one form version per type, so
   bulk actions produce fewer forms than roster rows — this explains why. */
.dasaf-dupe-note {
	margin: 10px 0;
	padding: 10px 14px;
	border-radius: 6px;
	border: 1px solid #fcd34d;
	background: #fff8e5;
	color: #92400e;
	font-size: 13px;
	line-height: 1.5;
}

/* Shake animation — used to draw attention to a button when the user
   arrives at a page via a guided step (e.g. welcome banner step 2
   points at the "+ Add New Project" button). */
@keyframes dasaf-shake {
	0%, 100%  { transform: translateX(0); }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-6px); }
	20%, 40%, 60%, 80%      { transform: translateX(6px); }
}

.dasaf-shake {
	animation: dasaf-shake 0.7s cubic-bezier(.36,.07,.19,.97) both;
	animation-iteration-count: 2;
	box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.35) !important;
	border-radius: 4px;
}

/* Click highlight for fields targeted from preview rect click */
.dasaf-field--click-highlight {
	outline: 3px solid #f59e0b !important;
	outline-offset: 2px;
	border-radius: 6px;
	background: #fffbeb !important;
	box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.2) !important;
	transition: outline 0.2s, background 0.2s, box-shadow 0.2s;
}

.dasaf-field--click-highlight input,
.dasaf-field--click-highlight textarea,
.dasaf-field--click-highlight select {
	border-color: #f59e0b !important;
}

.dasaf-field-form-tag {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 3px;
	background: #e8f0fe;
	color: #1a56db;
	vertical-align: middle;
	margin-left: 4px;
	letter-spacing: 0.02em;
}

.dasaf-field-form-tag--clickable {
	cursor: pointer;
	transition: background 0.12s, color 0.12s;
}

.dasaf-field-form-tag--clickable:hover {
	background: #1a56db;
	color: #fff;
}

/* Field Preview Modal (from tag click) */
.dasaf-field-preview-overlay {
	position: fixed;
	inset: 0;
	z-index: 200000;
	background: rgba(0,0,0,0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.dasaf-field-preview-modal {
	background: #fff;
	border-radius: 12px;
	max-width: 700px;
	max-height: 90vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 16px 64px rgba(0,0,0,0.3);
}

.dasaf-field-preview-header {
	display: flex;
	align-items: center;
	padding: 12px 18px;
	border-bottom: 1px solid #e2e8f0;
	font-size: 14px;
}

.dasaf-field-preview-close {
	margin-left: auto;
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: #94a3b8;
	padding: 0 4px;
	line-height: 1;
}

.dasaf-field-preview-close:hover {
	color: #1e293b;
}

.dasaf-field-preview-body {
	overflow: auto;
	max-height: 80vh;
}

.dasaf-field-preview-body .dasaf-field-preview-wrap {
	position: relative;
	display: inline-block;
	width: 100%;
}

.dasaf-field-preview-img {
	width: 100%;
	display: block;
}

.dasaf-field-preview-highlight {
	position: absolute;
	background: rgba(255, 153, 0, 0.25);
	border: 2px solid rgba(255, 153, 0, 0.8);
	border-radius: 2px;
	pointer-events: none;
	z-index: 5;
}


/* =========================================================================
   Form Type Card Checkmark (multi-select)
   ========================================================================= */

.dasaf-form-type-card {
	position: relative;
}

.dasaf-form-type-card--selected::after {
	content: '\2713';
	position: absolute;
	top: 6px;
	right: 6px;
	width: 18px;
	height: 18px;
	background: #2271b1;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

/* =========================================================================
   Form Type Card Thumbnails
   ========================================================================= */

.dasaf-form-type-card__preview {
	position: relative;
	margin-bottom: 8px;
	line-height: 0;
}

.dasaf-form-type-card__thumbnail {
	width: 100%;
	max-width: 90px;
	height: auto;
	border: 1px solid #e0e0e0;
	border-radius: 3px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	transition: box-shadow 0.2s ease;
	-webkit-user-drag: none;
	user-select: none;
	pointer-events: none;
}

.dasaf-form-type-card:hover .dasaf-form-type-card__thumbnail {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.dasaf-form-type-card--selected .dasaf-form-type-card__thumbnail {
	border-color: #2271b1;
	box-shadow: 0 2px 6px rgba(34, 113, 177, 0.15);
}

/* Expand / preview button — !important overrides page builder button styles */
.dasaf-form-card-expand {
	position: absolute !important;
	bottom: 4px !important;
	right: 4px !important;
	width: 22px !important;
	height: 22px !important;
	min-height: 0 !important;
	border: none !important;
	border-radius: 3px !important;
	background: rgba(0, 0, 0, 0.5) !important;
	color: #fff !important;
	font-size: 12px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0;
	transition: opacity 0.15s !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	top: auto !important;
	left: auto !important;
}

.dasaf-form-type-card:hover .dasaf-form-card-expand {
	opacity: 1;
}

.dasaf-form-card-expand:hover {
	background: rgba(0, 0, 0, 0.7) !important;
}

/* Lightbox */
.dasaf-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dasaf-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}

.dasaf-lightbox__content {
	position: relative;
	z-index: 1;
	max-width: 90vw;
	max-height: 90vh;
}

.dasaf-lightbox__image {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.dasaf-lightbox__iframe {
	width: 80vw;
	height: 85vh;
	border: none;
	border-radius: 4px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	background: #fff;
}

.dasaf-lightbox__close {
	position: absolute !important;
	top: -12px !important;
	right: -12px !important;
	left: auto !important;
	bottom: auto !important;
	width: 32px !important;
	height: 32px !important;
	min-height: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #1d2327 !important;
	font-size: 20px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
	padding: 0 !important;
	margin: 0 !important;
	text-shadow: none !important;
}

.dasaf-lightbox__close:hover {
	background: #f0f0f0 !important;
}

/* =========================================================================
   Form Section Headers (wizard multi-form)
   ========================================================================= */

.dasaf-form-section-header {
	grid-column: 1 / -1;
	padding-bottom: 6px;
	margin-bottom: 4px;
	border-bottom: 2px solid #2271b1;
}

.dasaf-form-section-header h5 {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #2271b1;
}

/* Version toolbar */
.dasaf-version-toolbar {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 6px 10px;
	margin-bottom: 8px;
	background: #f8f9fa;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	font-size: 13px;
}

.dasaf-version-toolbar label {
	font-weight: 600;
	color: #555;
	white-space: nowrap;
}

/* Version badge (used in filing history and destinations) */
.dasaf-version-badge {
	display: inline-block;
	padding: 2px 8px;
	margin-left: 6px;
	font-size: 11px;
	font-weight: 500;
	color: #2271b1;
	background: #e8f0fe;
	border: 1px solid #c3d9f0;
	border-radius: 10px;
	vertical-align: middle;
}

.dasaf-version-toolbar .dasaf-version-select {
	padding: 4px 8px;
	border: 1px solid #c3c4c7;
	border-radius: 3px;
	font-size: 13px;
	background: #fff;
	min-width: 140px;
	max-width: 250px;
}

/* Import From picker — grouped with its label in a nowrap flex box so
   the label and select never split across lines. On wide toolbars,
   margin-left:auto pushes the group to the right edge (separated by
   a subtle left border). When the toolbar wraps the group onto its
   own row, JS adds .dasaf-import-from-group--wrapped which drops the
   auto margin and divider so the group aligns to the left edge. */
.dasaf-version-toolbar .dasaf-import-from-group {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 8px;
	margin-left: auto;
	padding-left: 10px;
	border-left: 1px solid #e0e0e0;
	min-width: 0; /* allow the select to shrink instead of overflowing */
}

.dasaf-version-toolbar .dasaf-import-from-group--wrapped {
	margin-left: 0;
	padding-left: 0;
	border-left: 0;
}

.dasaf-version-toolbar .dasaf-import-from-label {
	white-space: nowrap;
	flex-shrink: 0;
}

.dasaf-version-toolbar .dasaf-import-from-select {
	padding: 4px 8px;
	border: 1px solid #c3c4c7;
	border-radius: 3px;
	font-size: 13px;
	background: #fff;
	min-width: 180px;
	max-width: 340px;
	flex-shrink: 1;
}

.dasaf-version-toolbar .dasaf-import-from-select:disabled {
	color: #8c8f94;
	background: #f6f7f7;
}

.dasaf-version-btn {
	padding: 3px 10px;
	border: 1px solid #c3c4c7;
	border-radius: 3px;
	background: #fff;
	font-size: 12px;
	cursor: pointer;
	color: #555;
	white-space: nowrap;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.dasaf-version-btn:hover {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.dasaf-version-delete {
	color: #b32d2e;
	border-color: #ddd;
	font-size: 16px;
	line-height: 1;
	padding: 2px 8px;
}

.dasaf-version-delete:hover {
	background: #b32d2e;
	border-color: #b32d2e;
	color: #fff;
}

/* Unified fields section */
#dasaf-unified-fields-section h4 {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 600;
}

.dasaf-field-group-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #787c82;
	margin: 8px 0 2px;
	padding: 0;
}

/* =========================================================================
   Multi-Download Rows (Step 5)
   ========================================================================= */

.dasaf-multi-download-links {
	margin-bottom: 16px;
}

.dasaf-download-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #f9f9f9;
}

.dasaf-download-row__label {
	flex: 1;
	font-size: 14px;
	font-weight: 600;
	color: #1d2327;
}

.dasaf-download-row--error {
	background: #fef0f0;
	border-color: #f0c0c0;
	color: #d63638;
}

.dasaf-download-row--error span {
	font-size: 13px;
}

/* Override Beaver Builder button styles in download rows */
.dasaf-download-row a.button,
.dasaf-download-row a.button:visited,
.dasaf-download-row a.button:hover,
.dasaf-download-row button.button,
.dasaf-download-row button.button:visited,
.dasaf-download-row button.button:hover {
	background-color: #2271b1 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	font-family: inherit !important;
	padding: 6px 14px !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: pointer !important;
}

.dasaf-download-row a.button:hover,
.dasaf-download-row button.button:hover {
	background-color: #135e96 !important;
}

.dasaf-download-row .dasaf-preview-single {
	background-color: #50575e !important;
}

.dasaf-download-row .dasaf-preview-single:hover {
	background-color: #3c434a !important;
}

/* Inline PDF preview panel below download row */
.dasaf-download-row-wrap {
	margin-bottom: 8px;
}
.dasaf-inline-preview {
	border: 1px solid #ddd;
	border-top: none;
	border-radius: 0 0 6px 6px;
	overflow: hidden;
	background: #f0f0f0;
	position: relative;
}
.dasaf-inline-preview__loader {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #f0f0f0;
	z-index: 2;
}
.dasaf-inline-preview__iframe {
	width: 100%;
	height: 70vh;
	min-height: 500px;
	border: none;
	display: block;
}
/* When preview is open, round only the top corners of the row */
.dasaf-download-row-wrap .dasaf-inline-preview:not([style*="display: none"]) ~ .dasaf-download-row,
.dasaf-download-row-wrap:has(.dasaf-inline-preview:not([style*="display: none"])) > .dasaf-download-row {
	border-radius: 6px 6px 0 0;
	margin-bottom: 0;
}

/* =========================================================================
   Read-only auto fields
   ========================================================================= */

.dasaf-field input[readonly],
.dasaf-field textarea[readonly] {
	background: #f0f0f1;
	color: #666;
	cursor: not-allowed;
}

/* =========================================================================
   Revert-to-original icon for auto-filled fields
   ========================================================================= */

.dasaf-field--has-revert {
	align-self: start;
}

/* Flex row keeps input + revert arrow on one line */
.dasaf-field-input-revert {
	display: flex;
	align-items: center;
	gap: 4px;
}
.dasaf-field-input-revert input[type="text"] {
	flex: 1;
	min-width: 0;
}

.dasaf-field-revert {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	cursor: pointer;
	color: #c3c4c7;
	font-size: 16px;
	line-height: 1;
	border-radius: 3px;
	transition: color 0.15s, background 0.15s;
}

.dasaf-field--modified .dasaf-field-revert {
	color: #2271b1;
}

.dasaf-field-revert:hover {
	background: rgba(34, 113, 177, 0.1);
	color: #135e96;
}

/* =========================================================================
   Source-Type Left Border Bars
   ========================================================================= */

.dasaf-field--source-company       { border-left: 3px solid #8b5cf6; }
.dasaf-field--source-project       { border-left: 3px solid #0d9488; }
.dasaf-field--source-account       { border-left: 3px solid #e08527; }
.dasaf-field--source-auto          { border-left: 3px solid #64748b; }
.dasaf-field--source-form-specific { border-left: 3px solid #e05680; }
.dasaf-field--source-invitation    { border-left: 3px solid #2563eb; }

/* Add left padding so content doesn't touch the bar */
.dasaf-field[class*="dasaf-field--source-"] {
	padding-left: 8px;
}

/* Dual-source fields: show primary bar on left + blue Info Request bar */
.dasaf-field--dual-source {
	border-left-width: 3px;
	position: relative;
}
.dasaf-field--dual-source::after {
	content: '';
	position: absolute;
	left: 3px;
	top: 0;
	bottom: 0;
	width: 3px;
	background: #2563eb;
	border-radius: 0 1px 1px 0;
}
.dasaf-field--dual-source {
	padding-left: 14px;
}

/* Import button — positioned below the input. Rules use !important to
   beat the theme's generic button:hover which sets color:#fff and ruins
   contrast against the light-blue background. */
.dasaf-field-import,
.fl-page .dasaf-field-import,
.fl-page button.dasaf-field-import {
	display: inline-block;
	margin-top: 4px;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 600;
	color: #1e3a8a !important;
	background: #eff6ff !important;
	border: 1px solid #bfdbfe !important;
	border-radius: 4px;
	cursor: pointer;
	white-space: nowrap;
	text-shadow: none !important;
	transition: all 0.15s ease;
}
.dasaf-field-import:hover,
.fl-page .dasaf-field-import:hover,
.fl-page button.dasaf-field-import:hover {
	color: #fff !important;
	background: #2563eb !important;
	border-color: #2563eb !important;
}
.dasaf-field-import:disabled,
.fl-page .dasaf-field-import:disabled,
.fl-page button.dasaf-field-import:disabled {
	color: #16a34a !important;
	background: #f0fdf4 !important;
	border-color: #bbf7d0 !important;
	cursor: default;
}

/* Imported field flash */
.dasaf-field--imported {
	background: #f0fdf4;
	transition: background 0.3s ease;
}

/* =========================================================================
   Source-Type Legend
   ========================================================================= */

.dasaf-source-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 4px 0 10px;
	font-size: 11px;
	color: #666;
}

.dasaf-source-legend__item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.dasaf-source-legend__item::before {
	content: '';
	display: inline-block;
	width: 3px;
	height: 14px;
	border-radius: 2px;
}

.dasaf-source-legend__item--company::before { background: #8b5cf6; }
.dasaf-source-legend__item--project::before { background: #0d9488; }
.dasaf-source-legend__item--account::before { background: #e08527; }
.dasaf-source-legend__item--auto::before           { background: #64748b; }
.dasaf-source-legend__item--form-specific::before  { background: #e05680; }
.dasaf-source-legend__item--invitation::before     { background: #2563eb; }

/* =========================================================================
   Field Hover Highlight (consistent orange border for all fields)
   ========================================================================= */

.dasaf-split-view__fields .dasaf-field--hovered input,
.dasaf-split-view__fields .dasaf-field--hovered select,
.dasaf-split-view__fields .dasaf-field--hovered textarea,
.dasaf-split-view__fields .dasaf-field--hovered .dasaf-signature-preview {
	border-color: #ff8c00;
	box-shadow: 0 0 0 2px rgba(255, 140, 0, 0.2);
}

/* =========================================================================
   Field State Color Coding (matches PDF preview legend)
   ========================================================================= */

/* Auto-filled: blue (matches preview rect--auto) */
.dasaf-split-view__fields .dasaf-field--state-auto input,
.dasaf-split-view__fields .dasaf-field--state-auto textarea,
.dasaf-split-view__fields .dasaf-field--state-auto select {
	background: rgba(34, 113, 177, 0.06);
	border-color: rgba(34, 113, 177, 0.30);
}

/* Filled manual: green (matches preview rect--filled) */
.dasaf-split-view__fields .dasaf-field--state-filled input,
.dasaf-split-view__fields .dasaf-field--state-filled textarea,
.dasaf-split-view__fields .dasaf-field--state-filled select {
	background: rgba(0, 163, 42, 0.06);
	border-color: rgba(0, 163, 42, 0.30);
}

/* Empty manual: orange dashed (matches preview rect--empty) */
.dasaf-split-view__fields .dasaf-field--state-empty input,
.dasaf-split-view__fields .dasaf-field--state-empty textarea,
.dasaf-split-view__fields .dasaf-field--state-empty select {
	background: rgba(255, 140, 0, 0.04);
	border-color: rgba(255, 140, 0, 0.35);
	border-style: dashed;
}

/* Override focus ring — keep orange for active field */
.dasaf-split-view__fields .dasaf-field input:focus,
.dasaf-split-view__fields .dasaf-field select:focus,
.dasaf-split-view__fields .dasaf-field textarea:focus {
	border-style: solid;
}

/* Multi-form short label next to preview icon on Projects tab */
.dasaf-loc-form-label {
	font-size: 9px;
	font-weight: 600;
	color: #666;
	margin-left: 2px;
	vertical-align: middle;
	letter-spacing: 0.02em;
}

/* =========================================================================
   Signature Pad
   ========================================================================= */

.dasaf-signature-section {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #eee;
	max-width: 900px;
}

.dasaf-signature-section h4 {
	font-size: 16px;
	font-weight: 600;
	color: #1d2327;
	margin-bottom: 4px;
}

.dasaf-signature-section .description {
	color: #666;
	font-size: 13px;
	margin-bottom: 12px;
}

.dasaf-signature-pad-wrapper {
	border: 2px dashed #c3c4c7;
	border-radius: 6px;
	background: #fff;
	display: inline-block;
	cursor: crosshair;
	position: relative;
}

.dasaf-signature-pad-wrapper.dasaf-sig-active {
	border-color: #2271b1;
	border-style: solid;
}

.dasaf-signature-canvas {
	display: block;
	width: 750px;
	height: 128px;
	touch-action: none; /* Critical for mobile drawing */
}

.dasaf-signature-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}

.dasaf-sig-delete-btn {
	color: #d63638 !important;
	background-color: #fff !important;
	border: 1px solid #d63638 !important;
}

.dasaf-sig-delete-btn:hover {
	background-color: #d63638 !important;
	color: #fff !important;
}

.dasaf-sig-status {
	font-size: 13px;
	transition: opacity 0.3s;
}

/* =========================================================================
   Signature Crop Modal
   ========================================================================= */

.dasaf-sig-crop-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 100200;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dasaf-sig-crop-modal {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	width: 90vw;
	max-width: 1100px;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
}

.dasaf-sig-crop-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px 12px;
	border-bottom: 1px solid #e0e0e0;
}

.dasaf-sig-crop-modal__header h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #1d2327;
}

.dasaf-sig-crop-modal__close {
	background: none !important;
	border: none !important;
	font-size: 22px;
	color: #646970 !important;
	cursor: pointer;
	padding: 0 4px !important;
	line-height: 1;
}

.dasaf-sig-crop-modal__close:hover {
	color: #d63638 !important;
}

.dasaf-sig-crop-modal__body {
	padding: 16px 20px;
	overflow: hidden;
}

.dasaf-sig-crop-modal__container {
	max-height: 70vh;
	overflow: hidden;
}

.dasaf-sig-crop-modal__container img {
	display: block;
	max-width: 100%;
}

.dasaf-sig-crop-modal__hint {
	margin: 12px 0 0;
	font-size: 13px;
	color: #666;
}

.dasaf-sig-crop-modal__footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 12px 20px 16px;
	border-top: 1px solid #e0e0e0;
}

/* =========================================================================
   Delete button (shared)
   ========================================================================= */

.dasaf-actions-cell .dasaf-delete-address {
	color: #d63638;
	border-color: #d63638;
}

.dasaf-actions-cell .dasaf-delete-address:hover {
	background: #d63638;
	color: #fff;
}

/* =========================================================================
   Physical destination summary cards
   ========================================================================= */

.dasaf-phys-dest-card {
	padding: 12px 16px;
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-bottom: 8px;
	background: #f9f9f9;
	font-size: 14px;
}

.dasaf-phys-dest-card__label {
	font-weight: 600;
	margin-bottom: 4px;
}

.dasaf-phys-dest-card--sent {
	background: #e8f5ec;
	border-color: #00a32a;
}

.dasaf-phys-dest-card__sent-status {
	margin-top: 6px;
	font-size: 12px;
	color: #00632a;
	font-weight: 600;
}

.dasaf-phys-sent-badge {
	display: inline-block;
}

.dasaf-certified-badge {
	display: inline-block;
	background: #e8d35c;
	color: #5a4e0a;
	font-size: 11px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 3px;
	margin-right: 4px;
	vertical-align: middle;
}

/* Mail button disabled state — Beaver Builder overrides WP defaults */

#dasaf-mail-btn:disabled,
.fl-page #dasaf-mail-btn:disabled {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	pointer-events: none;
}

.dasaf-mail-shortfall {
	display: inline-block;
	margin-left: 10px;
	color: #d63638;
	font-size: 13px;
	font-weight: 600;
}

/* Mail tier selector */

.dasaf-mail-tier-selector {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.dasaf-mail-tier-option {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	cursor: pointer;
}

.dasaf-mail-tier-option input[type="radio"] {
	margin: 0;
}

.dasaf-mail-tier-cost {
	color: #666;
	font-size: 13px;
}

#dasaf-mail-cost-note {
	font-size: 13px;
	line-height: 1.4;
}

/* =========================================================================
   Field Inspector Modal
   ========================================================================= */

.dasaf-field-inspector-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 100200; /* Above .pac-container (100100) */
	display: flex;
	align-items: center;
	justify-content: center;
}

.dasaf-field-inspector {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	width: 480px;
	max-width: 90vw;
	max-height: 80vh;
	overflow-y: auto;
}

.dasaf-field-inspector__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px 12px;
	border-bottom: 1px solid #e0e0e0;
}

.dasaf-field-inspector__header h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #1d2327;
}

.dasaf-field-inspector__close {
	background: none !important;
	border: none !important;
	font-size: 22px;
	color: #646970 !important;
	cursor: pointer;
	padding: 0 4px !important;
	line-height: 1;
}

.dasaf-field-inspector__close:hover {
	color: #d63638 !important;
}

.dasaf-field-inspector__body {
	padding: 16px 20px;
}

.dasaf-field-inspector__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.dasaf-field-inspector__table th {
	text-align: left;
	vertical-align: top;
	padding: 6px 12px 6px 0;
	color: #646970;
	font-weight: 500;
	white-space: nowrap;
	width: 120px;
}

.dasaf-field-inspector__table td {
	padding: 6px 0;
	color: #1d2327;
	word-break: break-word;
}

.dasaf-field-inspector__table code {
	background: #f0f0f1;
	padding: 1px 6px;
	border-radius: 3px;
	font-size: 12px;
	color: #50575e;
}

/* Source-field jump link inside the Source Detail row. */
.dasaf-field-inspector__table .dasaf-inspector-source-link {
	font-weight: 700;
	color: #2271b1;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
.dasaf-field-inspector__table .dasaf-inspector-source-link:hover {
	color: #135e96;
	text-decoration: underline;
}

.dasaf-field-inspector__table tr + tr {
	border-top: 1px solid #f0f0f1;
}

.dasaf-field-inspector__footer {
	padding: 12px 20px 16px;
	border-top: 1px solid #e0e0e0;
	display: flex;
	justify-content: flex-end;
}

.dasaf-field-inspector__copy {
	font-size: 12px !important;
	padding: 4px 12px !important;
}

/* =========================================================================
   Responsive
   ========================================================================= */

@media (max-width: 1100px) {
	.dasaf-split-view {
		grid-template-columns: 1fr 6px 340px !important;
	}
}

@media (max-width: 768px) {
	.dasaf-form-grid--inline {
		grid-template-columns: 1fr;
	}

	.dasaf-welcome-banner__steps {
		flex-direction: column;
		align-items: stretch;
	}

	.dasaf-welcome-step__arrow {
		display: none;
	}

	.dasaf-form-grid {
		grid-template-columns: 1fr;
	}

	.dasaf-signature-canvas {
		width: 100% !important;
		height: auto !important;
	}

	.dasaf-signature-pad-wrapper {
		width: 100%;
	}

	.dasaf-tabs {
		flex-wrap: wrap;
	}

	.dasaf-tab {
		padding: 10px 14px;
		font-size: 13px;
	}

	.dasaf-tabs-icons {
		margin-left: 0;
		width: 100%;
		justify-content: flex-end;
		border-top: 1px solid #eee;
		padding-top: 4px;
	}

	.dasaf-tab--icon {
		font-size: 16px;
		padding: 6px 10px;
	}

	.dasaf-qb-status {
		flex-wrap: wrap;
	}

	.dasaf-table {
		font-size: 13px;
	}

	.dasaf-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.dasaf-toolbar-left,
	.dasaf-toolbar-right {
		flex-direction: column;
	}

	.dasaf-search-input {
		min-width: unset;
		width: 100%;
	}

	.dasaf-filter-select {
		width: 100%;
	}

	.dasaf-date-range {
		width: 100%;
		flex-wrap: wrap;
	}

	.dasaf-date-input {
		flex: 1;
		min-width: 0;
	}

	.dasaf-pagination {
		flex-direction: column;
		align-items: center;
	}

	.dasaf-actions-cell .button {
		font-size: 12px;
		padding: 2px 8px;
	}

	.dasaf-form-type-cards {
		grid-template-columns: 1fr;
	}

	.dasaf-form-type-card__thumbnail {
		max-width: 160px;
	}

	.dasaf-wizard-steps {
		flex-wrap: wrap;
		gap: 4px;
	}

	.dasaf-wizard-step {
		font-size: 12px;
		padding: 6px 10px;
	}

	.dasaf-wizard-step-connector {
		display: none;
	}

	.dasaf-dest-row {
		flex-wrap: wrap;
	}

	.dasaf-download-row {
		flex-wrap: wrap;
	}

	.dasaf-download-row__label {
		width: 100%;
	}

	.dasaf-address-group-wrap {
		grid-template-columns: 1fr;
	}

	.dasaf-field-loc-popover {
		padding: 12px;
	}

	.dasaf-field-loc-popover__inner {
		height: calc(100vh - 24px);
		max-width: calc((100vh - 24px) * 612 / 792);
	}

	/* Split View — mobile: stack and slide-up preview */
	.dasaf-split-view {
		grid-template-columns: 1fr !important;
	}

	.dasaf-split-view__resizer {
		display: none !important;
	}

	.dasaf-split-view__fields {
		padding-right: 0 !important;
	}

	.dasaf-split-view__fields .dasaf-form-grid {
		grid-template-columns: 1fr;
	}

	.dasaf-split-view__preview {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		top: auto;
		z-index: 99999;
		padding-left: 0;
		max-height: 60vh;
		background: #fff;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);
		border-radius: 12px 12px 0 0;
		padding: 12px;
		transform: translateY(100%);
		transition: transform 0.3s ease;
		overflow-y: scroll;
	}

	.dasaf-split-view__preview--visible {
		transform: translateY(0);
	}

	.dasaf-split-preview-toggle {
		display: block !important;
		position: fixed;
		bottom: 16px;
		right: 16px;
		z-index: 99998;
		background: #2271b1;
		color: #fff;
		border: none;
		border-radius: 24px;
		padding: 10px 20px;
		font-size: 13px;
		font-weight: 600;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
		cursor: pointer;
	}

	/* Stats panel — mobile adjustments */
	.dasaf-stats-panel {
		padding: 8px 0;
	}

	.dasaf-stats-bar {
		height: 14px;
	}

	.dasaf-stats-section--aggregate .dasaf-stats-bar {
		height: 16px;
	}

	.dasaf-stats-counts {
		font-size: 9px;
	}
}

/* =========================================================================
   PDF Field Location Preview
   ========================================================================= */

/* Icon button — sits after the label, subtle pin icon.
   Use !important to override theme-level button/button:hover rules
   (bb-theme sets background, border, padding on all <button> elements). */
.dasaf-field-loc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
	font-size: 12px;
	width: auto;
	height: 18px;
	padding: 0 3px !important;
	margin: 0;
	opacity: 0.5;
	line-height: 1;
	transition: opacity 0.15s, background 0.15s;
	border-radius: 3px !important;
	gap: 1px;
	white-space: nowrap;
	color: inherit !important;
}

/* Tame the WP emoji <img> inside location buttons */
.dasaf-field-loc-btn img.emoji {
	width: 11px !important;
	height: 11px !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle;
}

/* Project form field location buttons — wrap to second line when many */
.dasaf-field-loc-btns {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
	vertical-align: middle;
	margin-left: 6px;
}

.dasaf-field-loc-btn:hover {
	opacity: 1;
	background: rgba(0, 0, 0, 0.06) !important;
	border: none !important;
	box-shadow: none !important;
}
.dasaf-field-loc-btn:focus {
	opacity: 1;
	outline: 2px solid #2271b1 !important;
	outline-offset: 1px;
}

/* Full-page overlay */
.dasaf-field-loc-popover {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.6);
	padding: 24px;
}

.dasaf-field-loc-popover__inner {
	position: relative;
	line-height: 0;
	height: calc(100vh - 48px);
	/* Maintain US Letter aspect ratio (width/height = 612/792 ≈ 0.7727) */
	aspect-ratio: 612 / 792;
	max-width: calc((100vh - 48px) * 612 / 792);
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
	overflow: hidden;
}

.dasaf-field-loc-popover__img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: fill;
}

/* Highlight rectangle */
.dasaf-field-loc-popover__highlight {
	position: absolute;
	background: rgba(255, 140, 0, 0.35);
	border: 2px solid #ff8c00;
	border-radius: 2px;
	pointer-events: none;
	transition: all 0.2s ease;
	box-shadow: 0 0 12px rgba(255, 140, 0, 0.5);
}

/* =========================================================================
   20. Google Places Autocomplete
   ========================================================================= */

/* Google Places autocomplete dropdown — above most UI but below Field Inspector. */
.pac-container {
	z-index: 100100;
	font-family: inherit;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Hide Google Places dropdown when Field Inspector is open. */
body.dasaf-inspector-open .pac-container {
	display: none !important;
}

.pac-item {
	padding: 8px 12px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
}

.pac-item:hover {
	background-color: #f0f0f1;
}

/* Hidden proxy input used for textarea autocomplete. */
.dasaf-gp-proxy {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	height: 0 !important;
	overflow: hidden !important;
}

/* =========================================================================
   21. CSV Import Modal
   ========================================================================= */

.dasaf-sample-csv-link {
	display: inline-block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #2271b1;
	text-decoration: none;
}
.dasaf-sample-csv-link:hover {
	color: #135e96;
	text-decoration: underline;
}

.dasaf-import-dropzone {
	border: 2px dashed #c3c4c7;
	border-radius: 8px;
	padding: 40px 20px;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	margin-top: 12px;
}

.dasaf-import-dropzone:hover,
.dasaf-import-dropzone--dragover {
	border-color: #2271b1;
	background: #f0f6fc;
}

.dasaf-import-dropzone__icon {
	font-size: 40px;
	display: block;
	margin-bottom: 8px;
}

.dasaf-import-dropzone__content p {
	margin: 4px 0;
}

/* Progress bar */
.dasaf-import-progress-bar {
	width: 100%;
	height: 8px;
	background: #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
}

.dasaf-import-progress-fill {
	height: 100%;
	background: #2271b1;
	border-radius: 4px;
	transition: width 0.3s;
}

.dasaf-import-progress-fill--animated {
	width: 70%;
	animation: dasaf-progress-pulse 1.5s ease-in-out infinite;
}

@keyframes dasaf-progress-pulse {
	0%   { width: 30%; }
	50%  { width: 70%; }
	100% { width: 30%; }
}

/* Mapping table */
#dasaf-import-mapping-table {
	width: 100%;
	font-size: 13px;
}

#dasaf-import-mapping-table select {
	width: 100%;
	padding: 5px 8px;
	font-size: 13px;
	border: 1px solid #ddd;
	border-radius: 4px;
}

#dasaf-import-mapping-table td {
	vertical-align: middle;
}

.dasaf-import-preview-cell {
	max-width: 180px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #666;
	font-size: 12px;
	font-style: italic;
}

/* Results */
.dasaf-import-results-summary {
	padding: 16px;
	border-radius: 6px;
	background: #f0faf0;
	border: 1px solid #00a32a;
	margin-bottom: 12px;
}

.dasaf-import-results-summary--partial {
	background: #fef8ee;
	border-color: #dba617;
}

.dasaf-import-results-summary h4 {
	margin: 0 0 8px 0;
	font-size: 15px;
}

.dasaf-import-results-summary p {
	margin: 4px 0;
	font-size: 13px;
}

.dasaf-import-results-errors {
	max-height: 160px;
	overflow-y: auto;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px 12px;
	background: #fff;
	font-size: 12px;
	color: #8b0000;
	margin-top: 8px;
}

.dasaf-import-results-errors p {
	margin: 2px 0;
}

/* =========================================================================
   INVITATIONS PANEL (Project Edit)
   ========================================================================= */

.dasaf-invitations-panel {
	margin: 24px 0;
	padding: 20px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	background: #fafbfc;
}

.dasaf-invitations-header h4 {
	margin: 0 0 4px;
	font-size: 16px;
}

.dasaf-invitations-header .description {
	margin: 0 0 16px;
	color: #666;
}

.dasaf-invitation-toggle-form {
	margin-bottom: 12px !important;
}

.dasaf-invitation-form-fields {
	padding: 16px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-bottom: 16px;
}

.dasaf-invitation-form-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 8px;
}

/* Invitation list items */
.dasaf-invitation-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	margin-bottom: 8px;
	background: #fff;
	transition: border-color 0.2s;
}

.dasaf-invitation-item:hover {
	border-color: #c0c0c0;
}

.dasaf-invitation-item--completed {
	border-left: 3px solid #27ae60;
}

.dasaf-invitation-item--pending {
	border-left: 3px solid #f39c12;
}

.dasaf-invitation-item--viewed {
	border-left: 3px solid #3498db;
}

.dasaf-invitation-item--expired,
.dasaf-invitation-item--cancelled {
	border-left: 3px solid #bbb;
	opacity: 0.7;
}

.dasaf-invitation-info {
	flex: 1;
	min-width: 0;
}

.dasaf-invitation-name {
	font-weight: 600;
	margin-right: 8px;
}

.dasaf-invitation-email {
	color: #666;
	font-size: 13px;
}

.dasaf-invitation-meta {
	display: flex;
	gap: 12px;
	align-items: center;
	font-size: 12px;
	color: #888;
	margin-top: 4px;
}

.dasaf-invitation-status {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.dasaf-invitation-status--pending {
	background: #fef3cd;
	color: #856404;
}

.dasaf-invitation-status--viewed {
	background: #d1ecf1;
	color: #0c5460;
}

.dasaf-invitation-status--completed {
	background: #d4edda;
	color: #155724;
}

.dasaf-invitation-status--expired {
	background: #e9e9e9;
	color: #666;
}

.dasaf-invitation-status--cancelled {
	background: #e9e9e9;
	color: #666;
}

.dasaf-invitation-actions {
	display: flex;
	gap: 6px;
	align-items: center;
	flex-shrink: 0;
	margin-left: 12px;
}

.dasaf-invitation-actions .button {
	font-size: 12px !important;
	padding: 2px 8px !important;
	min-height: auto !important;
	line-height: 1.6 !important;
}

.dasaf-invitation-empty {
	padding: 16px;
	text-align: center;
	color: #999;
	font-style: italic;
}

.dasaf-invitation-link-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding: 8px 12px;
	background: #f8f9fa;
	border-radius: 4px;
}

.dasaf-invitation-link-row input {
	flex: 1;
	font-size: 12px;
	padding: 4px 8px;
	border: 1px solid #ddd;
	border-radius: 3px;
	background: #fff;
	color: #666;
}

.dasaf-invitation-link-row .button {
	font-size: 12px !important;
	padding: 2px 10px !important;
}

/* =========================================================================
   PUBLIC INFO REQUEST FORM
   ========================================================================= */

.dasaf-info-request {
	max-width: 720px;
	margin: 0 auto;
}

.dasaf-info-header {
	text-align: center;
	margin-bottom: 32px;
}

.dasaf-info-header h2 {
	font-size: 24px;
	margin: 0 0 8px;
	color: #1a1a2e;
}

.dasaf-info-subtitle {
	color: #666;
	font-size: 14px;
	margin: 0 0 16px;
}

.dasaf-info-message {
	margin: 16px auto;
	padding: 12px 20px;
	max-width: 500px;
	background: #f8f9fa;
	border-left: 3px solid #e8712b;
	border-radius: 0 4px 4px 0;
	color: #444;
	font-style: italic;
}

.dasaf-info-legal-note {
	font-size: 12px;
	color: #888;
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.6;
}

.dasaf-info-section {
	border: 1px solid #e5e7eb;
	border-top: 2px solid #e8712b;
	border-radius: 8px;
	padding: 20px 24px;
	margin: 0 0 16px;
	background: #fff;
}

.dasaf-info-section legend {
	font-size: 15px;
	font-weight: 600;
	color: #1a1a2e;
	padding: 0 8px;
}

.dasaf-info-section .description {
	margin: -8px 0 12px;
	color: #888;
	font-size: 13px;
}

.dasaf-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 4px;
}

.dasaf-radio-label {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-size: 14px;
}

.dasaf-radio-label input[type="radio"] {
	margin: 0;
}

.dasaf-info-declaration {
	margin: 24px 0;
	padding: 20px 24px;
	background: #f8f9fa;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
}

.dasaf-info-declaration p:first-child {
	margin-top: 0;
}

.dasaf-info-declaration-text {
	font-size: 13px;
	color: #555;
	line-height: 1.7;
}

.dasaf-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.5;
}

.dasaf-checkbox-label input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
}

.dasaf-info-submit-wrap {
	text-align: center;
	margin: 32px 0;
}

.dasaf-info-submit-btn {
	font-size: 18px !important;
	padding: 14px 48px !important;
	background: #e8712b !important;
	border-color: #d4631f !important;
	color: #fff !important;
	border-radius: 6px !important;
}

.dasaf-info-submit-btn:hover {
	background: #d4631f !important;
}

.dasaf-info-submit-btn:disabled {
	opacity: 0.7 !important;
	cursor: not-allowed !important;
}

.dasaf-info-success-banner {
	text-align: center;
	padding: 40px 24px;
	background: #d4edda;
	border: 1px solid #c3e6cb;
	border-radius: 12px;
	margin: 24px 0;
}

.dasaf-info-success-icon {
	display: inline-block;
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	background: #27ae60;
	color: #fff;
	font-size: 30px;
	margin-bottom: 16px;
}

.dasaf-info-success-banner h2 {
	margin: 0 0 8px;
	color: #155724;
}

.dasaf-info-success-banner p {
	color: #155724;
	margin: 0;
}

.dasaf-info-validation-banner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 8px;
	margin: 0 0 20px;
	color: #856404;
	font-size: 15px;
	font-weight: 500;
}

.dasaf-info-validation-icon {
	font-size: 20px;
	flex-shrink: 0;
}

.dasaf-info-request-completed {
	max-width: 720px;
	margin: 0 auto;
}

.dasaf-info-summary-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
}

.dasaf-info-summary-table th {
	text-align: left;
	padding: 8px 12px;
	font-weight: 600;
	color: #555;
	border-bottom: 1px solid #eee;
	width: 35%;
	vertical-align: top;
}

.dasaf-info-summary-table td {
	padding: 8px 12px;
	border-bottom: 1px solid #eee;
	vertical-align: top;
}

.dasaf-required {
	color: #d63031;
}

/* =========================================================================
   Import Review Modal
   ========================================================================= */

body.dasaf-modal-open {
	overflow: hidden !important;
}

.dasaf-import-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.dasaf-import-modal {
	background: #fff;
	border-radius: 10px;
	width: 100%;
	max-width: 680px;
	max-height: 85vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	overflow: hidden;
}

.dasaf-import-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 20px 24px 16px;
	border-bottom: 1px solid #e5e7eb;
}

.dasaf-import-modal-header h3 {
	margin: 0 0 4px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #1d2327 !important;
}

.dasaf-import-modal-subtitle {
	margin: 0 !important;
	font-size: 13px !important;
	color: #666 !important;
}

.dasaf-import-modal-close {
	background: none !important;
	border: none !important;
	font-size: 24px !important;
	color: #999 !important;
	cursor: pointer !important;
	padding: 0 !important;
	line-height: 1 !important;
	width: 32px !important;
	height: 32px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 4px !important;
}

.dasaf-import-modal-close:hover {
	background: #f3f4f6 !important;
	color: #333 !important;
}

.dasaf-import-modal-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 24px;
	background: #f9fafb;
	border-bottom: 1px solid #e5e7eb;
	font-size: 13px;
}

.dasaf-import-check-all-label {
	display: flex !important;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	cursor: pointer;
	color: #333;
}

.dasaf-import-check-all-label input[type="checkbox"] {
	margin: 0 !important;
}

.dasaf-import-conflict-legend {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #888;
	font-size: 12px;
}

.dasaf-conflict-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fef3cd;
	border: 1px solid #e8a816;
}

.dasaf-import-modal-body {
	overflow-y: auto;
	padding: 0;
	flex: 1;
}

.dasaf-import-category {
	border-bottom: 1px solid #e5e7eb;
}

.dasaf-import-category:last-child {
	border-bottom: none;
}

.dasaf-import-category-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	background: #f3f4f6;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #555;
}

.dasaf-import-category-icon {
	font-size: 11px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	color: #999;
	background: #e5e7eb;
	padding: 2px 8px;
	border-radius: 10px;
}

.dasaf-import-row {
	display: flex;
	align-items: flex-start;
	padding: 10px 24px;
	border-bottom: 1px solid #f3f4f6;
	gap: 12px;
	transition: background 0.15s;
}

.dasaf-import-row:last-child {
	border-bottom: none;
}

.dasaf-import-row:hover {
	background: #fafbfc;
}

.dasaf-import-row--conflict {
	background: #fffbeb !important;
	border-left: 3px solid #f59e0b;
	padding-left: 21px;
}

.dasaf-import-row--conflict:hover {
	background: #fef9e7 !important;
}

.dasaf-import-row-check {
	flex-shrink: 0;
	padding-top: 2px;
	margin: 0 !important;
}

.dasaf-import-row-check input[type="checkbox"] {
	margin: 0 !important;
}

.dasaf-import-row-label {
	flex: 0 0 140px;
	font-size: 13px;
	font-weight: 500;
	color: #444;
	padding-top: 1px;
}

.dasaf-import-row-values {
	flex: 1;
	min-width: 0;
}

.dasaf-import-new-value,
.dasaf-import-current-value {
	font-size: 13px;
	line-height: 1.5;
	word-break: break-word;
}

.dasaf-import-new-value {
	color: #1d2327;
}

.dasaf-import-current-value {
	color: #888;
	margin-top: 4px;
	font-size: 12px;
}

.dasaf-import-value-tag {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	padding: 1px 6px;
	border-radius: 3px;
	background: #dbeafe;
	color: #1e40af;
	margin-right: 4px;
	vertical-align: middle;
}

.dasaf-import-value-tag--current {
	background: #f3f4f6;
	color: #666;
}

.dasaf-import-empty {
	padding: 40px 24px;
	text-align: center;
	color: #888;
	font-size: 14px;
}

.dasaf-import-modal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	border-top: 1px solid #e5e7eb;
	background: #f9fafb;
	gap: 12px;
}

.dasaf-import-count {
	font-size: 13px;
	color: #666;
	flex: 1;
	text-align: center;
}

.dasaf-import-modal-footer .button-primary {
	background: #e8712b !important;
	border-color: #d4641f !important;
	color: #fff !important;
}

.dasaf-import-modal-footer .button-primary:hover {
	background: #d4641f !important;
}

.dasaf-import-modal-footer .button-primary:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
}

/* Import success toast */
.dasaf-import-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: #059669;
	color: #fff;
	padding: 12px 24px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	z-index: 100001;
	opacity: 0;
	transition: opacity 0.3s, transform 0.3s;
	pointer-events: none;
}

.dasaf-import-toast--visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* Responsive */
@media (max-width: 768px) {
	.dasaf-info-section {
		padding: 16px;
	}

	.dasaf-invitation-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.dasaf-invitation-actions {
		margin-left: 0;
	}

	.dasaf-radio-group {
		flex-direction: column;
		gap: 8px;
	}

	.dasaf-import-modal-overlay {
		padding: 8px;
	}

	.dasaf-import-modal {
		max-height: 90vh;
	}

	.dasaf-import-row {
		flex-wrap: wrap;
	}

	.dasaf-import-row-label {
		flex: 1 1 100%;
		padding-left: 28px;
	}

	.dasaf-import-row-values {
		padding-left: 28px;
	}

	.dasaf-import-modal-footer {
		flex-wrap: wrap;
		gap: 8px;
	}

	.dasaf-import-count {
		order: -1;
		flex: 1 1 100%;
		text-align: left;
	}

	.dasaf-import-conflict-legend {
		display: none;
	}
}

/* =========================================================================
   Prefill Preview Modal
   ========================================================================= */

.dasaf-prefill-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 20px;
	overflow-y: auto;
}

.dasaf-prefill-modal {
	background: #fff;
	border-radius: 8px;
	width: 100%;
	max-width: 900px;
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.dasaf-prefill-modal-header {
	padding: 16px 20px;
	border-bottom: 1px solid #dcdcde;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-shrink: 0;
}

.dasaf-prefill-modal-header h3 {
	margin: 0;
	font-size: 18px;
}

.dasaf-prefill-modal-header .dasaf-prefill-close {
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #646970;
	padding: 0 4px;
}

.dasaf-prefill-modal-recipient {
	font-size: 13px;
	color: #646970;
	margin-top: 4px;
}

.dasaf-prefill-modal-body {
	overflow-y: auto;
	padding: 20px;
	flex: 1;
}

.dasaf-prefill-modal-footer {
	padding: 12px 20px;
	border-top: 1px solid #dcdcde;
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	flex-shrink: 0;
}

.dasaf-prefill-send-btn {
	background: #ea580c !important;
	color: #fff !important;
	border: none !important;
	padding: 8px 20px !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	font-weight: 600 !important;
}

.dasaf-prefill-send-btn:hover {
	background: #c2410c !important;
}

/* ===== Collapsible Panel ===== */
.dasaf-panel-collapsed .dasaf-invitation-send,
.dasaf-panel-collapsed .dasaf-invitation-list,
.dasaf-panel-collapsed .dasaf-invitations-header .description,
.dasaf-panel-collapsed .dasaf-inv-sub-link {
	display: none !important;
}
.dasaf-collapse-arrow {
	font-size: 11px;
	color: #646970;
	transition: transform 0.2s;
	display: inline-block;
}
.dasaf-panel-collapsed .dasaf-collapse-arrow {
	transform: rotate(-90deg);
}

/* ===== Subcontractors Panel ===== */
.dasaf-subcontractors-panel {
	margin-top: 24px;
	padding: 16px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #f9f9f9;
}
.dasaf-subcontractors-header h4 {
	margin: 0 0 4px;
}
.dasaf-subcontractors-header .description {
	margin: 0 0 12px;
}
.dasaf-subcontractor-actions {
	margin-bottom: 8px;
}
.dasaf-subcontractor-form {
	padding: 12px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}
/* Editing state: card + form as a connected unit */
.dasaf-sub-card--editing {
	border-color: #c3740e;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: none;
	margin-bottom: 0;
}
.dasaf-subcontractor-form.dasaf-sub-form--attached {
	border: 1px solid #c3740e;
	border-top: 1px dashed #e5c9a8;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	margin-top: 0;
	margin-bottom: 8px;
}
.dasaf-sub-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	margin-top: 8px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}
.dasaf-sub-card:hover {
	border-color: #2271b1;
}
.dasaf-sub-card-info {
	flex: 1;
	min-width: 0;
}
.dasaf-sub-card-actions {
	display: flex;
	gap: 6px;
	align-items: center;
	flex-shrink: 0;
	margin-left: 12px;
}
.dasaf-sub-card-actions .button {
	font-size: 12px !important;
	padding: 2px 8px !important;
	min-height: auto !important;
	line-height: 1.6 !important;
}
.dasaf-sub-trade {
	color: #646970;
	font-size: 13px;
}
.dasaf-sub-empty {
	padding: 12px 0;
}

/* =====================================================================
   Project Summary Modal
   ===================================================================== */
.dasaf-summary-modal .dasaf-modal-content {
	max-width: 900px;
	padding: 0;
}
.dasaf-summary-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	border-bottom: 1px solid #e0e0e0;
}
.dasaf-summary-header h3 {
	margin: 0;
	font-size: 18px;
}
.dasaf-summary-header .dasaf-modal-close {
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #888;
	padding: 0 4px;
	line-height: 1;
}
.dasaf-summary-header .dasaf-modal-close:hover {
	color: #333;
}
.dasaf-summary-body {
	padding: 20px 24px;
	max-height: 70vh;
	overflow-y: auto;
}
.dasaf-summary-section {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #eee;
}
.dasaf-summary-section--last {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.dasaf-summary-section-title {
	margin: 0 0 12px 0;
	font-size: 15px;
	font-weight: 600;
	color: #1d2327;
}
.dasaf-summary-hint {
	font-weight: 400;
	font-size: 12px;
	color: #888;
}
.dasaf-summary-count {
	font-weight: 400;
	font-size: 13px;
	color: #888;
}
.dasaf-summary-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 20px;
}
.dasaf-summary-field {
	padding: 6px 0;
}
.dasaf-summary-label {
	font-size: 12px;
	font-weight: 600;
	color: #646970;
	margin-bottom: 2px;
}
.dasaf-summary-label .dasaf-field-form-tag {
	margin-left: 4px;
	font-size: 9px;
	vertical-align: middle;
}
.dasaf-summary-value {
	font-size: 14px;
	color: #1d2327;
	word-break: break-word;
}
.dasaf-summary-empty {
	font-size: 13px;
	font-style: italic;
	color: #b0b5b9;
}
.dasaf-summary-empty-note {
	font-size: 13px;
	font-style: italic;
	color: #b0b5b9;
	margin: 8px 0;
}
.dasaf-summary-sub-card {
	background: #f9f9f9;
	border: 1px solid #e8e8e8;
	border-radius: 6px;
	padding: 12px 14px;
	margin-bottom: 8px;
}
.dasaf-summary-sub-card:last-child {
	margin-bottom: 0;
}
.dasaf-summary-sub-name {
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
}
.dasaf-summary-sub-trade {
	font-weight: 400;
	font-size: 12px;
	color: #646970;
	background: #f0f0f0;
	padding: 1px 6px;
	border-radius: 3px;
}
.dasaf-summary-sub-tier {
	font-weight: 400;
	font-size: 11px;
	color: #888;
}
.dasaf-summary-sub-details {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	font-size: 13px;
	color: #555;
}
.dasaf-summary-spinner {
	display: inline-block;
	width: 28px;
	height: 28px;
	border: 3px solid #e0e0e0;
	border-top-color: #2271b1;
	border-radius: 50%;
	animation: dasaf-spin 0.7s linear infinite;
}
@keyframes dasaf-spin {
	to { transform: rotate(360deg); }
}
.dasaf-summary-ir-category {
	margin-bottom: 12px;
}
.dasaf-summary-ir-category:last-child {
	margin-bottom: 0;
}
.dasaf-summary-ir-category-title {
	margin: 0 0 8px 0;
	font-size: 13px;
	font-weight: 600;
	color: #50575e;
	padding-bottom: 4px;
	border-bottom: 1px solid #f0f0f0;
}
.dasaf-summary-ir-category-title .dasaf-field-form-tag {
	font-size: 9px;
	vertical-align: middle;
	margin-left: 4px;
}
.dasaf-view-summary {
	background: #f0f0f1 !important;
	color: #2271b1 !important;
	border-color: #2271b1 !important;
}
.dasaf-view-summary:hover {
	background: #e5f1fb !important;
}

@media (max-width: 768px) {
	.dasaf-summary-grid {
		grid-template-columns: 1fr;
	}
	.dasaf-summary-modal .dasaf-modal-content {
		max-width: 95%;
	}
}

/* =========================================================================
   DAS-142 Dispatch Rounds
   ========================================================================= */

.dasaf-dispatch-modal-content {
	max-width: 640px;
	width: 92%;
	max-height: 88vh;
	overflow-y: auto;
}

.dasaf-dispatch-project-name {
	color: #646970;
	font-weight: 400;
	font-size: 0.85em;
}

.dasaf-dispatch-modal-content h4 {
	margin: 20px 0 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid #f0f0f1;
}

.dasaf-dispatch-union-row,
.dasaf-dispatch-review-row {
	padding: 10px 12px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	margin-bottom: 8px;
	background: #fff;
}

.dasaf-dispatch-review-row--error {
	border-color: #f0c0c0;
	background: #fdf3f3;
}

.dasaf-dispatch-union-name {
	font-weight: 600;
}

.dasaf-dispatch-union-version {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 7px;
	font-size: 11px;
	font-weight: 600;
	color: #2271b1;
	background: #e5f1fb;
	border-radius: 10px;
}

.dasaf-dispatch-union-meta {
	margin-top: 2px;
	font-size: 13px;
	color: #50575e;
}

.dasaf-dispatch-dates {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.dasaf-dispatch-dates .dasaf-field {
	flex: 1;
	min-width: 180px;
}

.dasaf-dispatch-newround,
.dasaf-dispatch-review,
.dasaf-dispatch-history {
	margin-top: 8px;
}

.dasaf-dispatch-newround-actions,
.dasaf-dispatch-review-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.dasaf-dispatch-review-status {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 600;
}

.dasaf-dispatch-cost {
	margin-top: 12px;
	padding: 10px 12px;
	background: #f6f7f7;
	border-radius: 6px;
	font-size: 13px;
}

.dasaf-dispatch-warn {
	color: #d63031;
}

.dasaf-dispatch-sent {
	color: #00a32a;
}

.dasaf-dispatch-preview-link {
	font-size: 12px;
	font-weight: 400;
}

.dasaf-dispatch-history-items {
	margin: 0;
	padding-left: 18px;
}

.dasaf-dispatch-history-items li {
	margin-bottom: 4px;
	font-size: 13px;
	color: #50575e;
}

.dasaf-dispatch-prepare-status,
.dasaf-dispatch-send-status {
	font-size: 13px;
}

@media (max-width: 768px) {
	.dasaf-dispatch-dates {
		flex-direction: column;
		gap: 8px;
	}
}

/* =========================================================================
   Union Roster (per-project unions / apprenticeship committees)
   ========================================================================= */

.dasaf-unions-panel {
	margin-top: 24px;
	padding: 16px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #f9f9f9;
}

.dasaf-unions-header h4 {
	margin: 0 0 4px;
}

.dasaf-unions-header .description {
	margin: 0 0 12px;
}

.dasaf-union-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

/* Secondary "Add Unions from previous DAS-140 sends" action — a text link, not
   a button, so the longer label reads as a lightweight secondary action next to
   the primary "+ Add Union". The :hover overrides beat the theme's aggressive
   button:hover (color:#fff; dark bg) since class:hover outranks element:hover. */
.dasaf-copy-unions-140-link {
	background: none;
	border: 0;
	padding: 0;
	color: #2271b1;
	font-size: 13px;
	cursor: pointer;
	text-decoration: underline;
}
.dasaf-copy-unions-140-link:hover {
	background: none;
	color: #135e96;
}

.dasaf-union-action-status {
	font-size: 13px;
}

.dasaf-union-form {
	padding: 12px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}

.dasaf-union-card {
	display: flex;
	flex-direction: column;
	padding: 10px 12px;
	margin-top: 8px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}

.dasaf-union-card:hover {
	border-color: #2271b1;
}

/* Top row of a union card: name/meta on the left, Edit/Delete on the right. */
.dasaf-union-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* Merged 140 → 142 status row, filled by renderUnionFlowStrip once activity
   loads. Hidden until populated so a fresh card shows no stray divider. */
.dasaf-union-card-flow {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #f0f0f1;
}
.dasaf-union-card-flow:empty {
	display: none;
}

/* Teaching legend header + send timeline, split out of the old flow strip so
   the legend sits above the roster and the timeline below it. */
.dasaf-union-legend {
	margin: 12px 0 4px;
}
.dasaf-union-timeline {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #e0e0e0;
}

.dasaf-union-card-info {
	flex: 1;
	min-width: 0;
}

.dasaf-union-card-meta {
	margin-top: 2px;
	font-size: 13px;
	color: #50575e;
}

.dasaf-union-card-actions {
	display: flex;
	gap: 6px;
	align-items: center;
	flex-shrink: 0;
	margin-left: 12px;
}

.dasaf-union-card-actions .button {
	font-size: 12px !important;
	padding: 2px 8px !important;
	min-height: auto !important;
	line-height: 1.6 !important;
}

.dasaf-union-fanout {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #e0e0e0;
}

.dasaf-fanout-status {
	margin-left: 8px;
	font-size: 13px;
}

.dasaf-fanout-results {
	margin-top: 8px;
}

.dasaf-fanout-row {
	font-size: 13px;
	padding: 2px 0;
}


/* =========================================================================
   Make the Union Flow Visible — roster flow strip, card counts, timeline
   ========================================================================= */

/* Roster flow strip */
.dasaf-union-flow {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #e0e0e0;
}

.dasaf-flow-legend {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 10px 12px;
	background: #f6f7f7;
	border-radius: 6px;
}

.dasaf-flow-node {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dasaf-flow-thumb {
	width: 40px;
	height: 52px;
	object-fit: cover;
	object-position: top;
	border: 1px solid #dcdcde;
	border-radius: 3px;
	background: #fff;
}

.dasaf-flow-thumb-sm {
	width: 24px;
	height: 31px;
	object-fit: cover;
	object-position: top;
	border: 1px solid #dcdcde;
	border-radius: 2px;
	background: #fff;
	flex-shrink: 0;
}

.dasaf-flow-cap {
	font-size: 12px;
	line-height: 1.3;
	color: #50575e;
}
.dasaf-flow-cap strong { display: block; color: #1d2327; }

.dasaf-flow-arrow {
	color: #8c8f94;
	font-size: 18px;
	flex-shrink: 0;
}

.dasaf-flow-rows {
	margin-top: 10px;
}

.dasaf-flow-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f1;
	flex-wrap: wrap;
}
.dasaf-flow-row:last-child { border-bottom: none; }

.dasaf-flow-union {
	flex: 0 0 150px;
	font-weight: 600;
	min-width: 120px;
}

.dasaf-flow-step {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.dasaf-flow-status {
	font-size: 13px;
}

.dasaf-flow-draft { color: #b26a00; }
.dasaf-flow-muted { color: #8c8f94; }

/* Timeline */
.dasaf-flow-timeline-wrap {
	margin-top: 12px;
}
.dasaf-flow-timeline-label {
	font-size: 12px;
	font-weight: 600;
	color: #646970;
	margin-bottom: 4px;
}
.dasaf-timeline {
	display: flex;
	align-items: flex-end;
	gap: 14px;
	flex-wrap: wrap;
	padding: 6px 4px;
	position: relative;
}
.dasaf-timeline-marker {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	font-size: 11px;
	color: #50575e;
}
.dasaf-timeline-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #2271b1;
}
.dasaf-timeline-das140 .dasaf-timeline-dot { background: #00a32a; }
.dasaf-timeline-das142 .dasaf-timeline-dot { background: #2271b1; }
.dasaf-timeline-date { white-space: nowrap; }

/* Default (condensed) timeline: a tight, wrapping list of dated pills.
   Stays compact no matter how many rounds a job has. */
.dasaf-timeline--list {
	gap: 6px;
	align-items: center;
}
.dasaf-tl-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 8px;
	font-size: 11px;
	color: #50575e;
	background: #f0f0f1;
	border-radius: 10px;
	white-space: nowrap;
}
.dasaf-tl-pill .dasaf-timeline-dot { width: 8px; height: 8px; }
.dasaf-timeline-das140.dasaf-tl-pill { background: #e6f5ea; color: #135c2b; }
.dasaf-timeline-das142.dasaf-tl-pill { background: #e5f1fb; color: #0f4c75; }

/* Opt-in proportional timeline: markers positioned by actual date along a
   track, so the spacing reflects the real gaps between rounds. */
.dasaf-timeline--prop {
	position: relative;
	display: block;
	height: 46px;
	margin: 4px 8px 0;
	border-top: 2px solid #e0e0e2;
}
.dasaf-timeline--prop .dasaf-timeline-marker {
	position: absolute;
	top: -6px;
	transform: translateX(-50%);
}
.dasaf-timeline--prop .dasaf-timeline-date {
	font-size: 10px;
}

/* Proportional toggle in the timeline header */
.dasaf-flow-timeline-label {
	display: flex;
	align-items: center;
	gap: 10px;
}
.dasaf-timeline-prop-toggle-wrap {
	font-weight: 400;
	font-size: 11px;
	color: #646970;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 3px;
}
.dasaf-timeline-prop-toggle-wrap input { margin: 0; }

/* Flow-strip arrow with a caption ("auto-fills") showing the 140's data
   carries into the 142 automatically. */
.dasaf-flow-arrow--labeled {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.1;
}
.dasaf-flow-arrow-label {
	font-size: 9px;
	font-weight: 600;
	color: #2271b1;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

/* Clickable per-union form thumbnail (jump to that union's 140/142). */
.dasaf-flow-jump {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	line-height: 0;
	border-radius: 3px;
}
.dasaf-flow-jump:hover { outline: 2px solid #2271b1; outline-offset: 1px; }
.dasaf-flow-jump:hover .dasaf-flow-thumb-sm { border-color: #2271b1; }
.dasaf-flow-step-link {
	font-size: 10px;
	color: #2271b1;
	text-decoration: none;
	display: block;
}
.dasaf-flow-step-link:hover { text-decoration: underline; }

/* Twin all-unions fan-out buttons (140 generate + 142 dispatch). */
.dasaf-dispatch-142-all-btn { margin-left: 8px; }
@media (max-width: 600px) {
	.dasaf-dispatch-142-all-btn { margin-left: 0; margin-top: 8px; }
}

/* Committee response badges (DAS-142 "Respond to this request"). */
.dasaf-resp-badge {
	display: inline-block;
	padding: 1px 7px;
	font-size: 11px;
	font-weight: 600;
	border-radius: 9px;
	white-space: nowrap;
	vertical-align: baseline;
}
.dasaf-resp-badge--ok   { background: #e6f5ea; color: #135c2b; }
.dasaf-resp-badge--warn { background: #fcebea; color: #b32d2e; }
.dasaf-resp-badge--ack  { background: #e5f1fb; color: #0f4c75; }
.dasaf-resp-badge--wait { background: #f0f0f1; color: #646970; }

/* Choose-Form card count chip */
.dasaf-card-count-chip {
	display: inline-block;
	margin-top: 6px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 600;
	color: #2271b1;
	background: #e5f1fb;
	border: 1px solid #c7e0f4;
	border-radius: 10px;
	cursor: pointer;
}
.dasaf-card-count-chip:hover {
	background: #d3e7f8;
	border-color: #2271b1;
	/* The chip is a <button>, so the theme's button:hover rule (color:#fff)
	   otherwise wins and makes the text white-on-light-blue (1.26 contrast).
	   A class:hover selector outranks the theme's element:hover — keep the
	   text dark for readability. */
	color: #0f4c75;
}

/* Form activity modal */
.dasaf-activity-thumb {
	width: 22px;
	height: 28px;
	object-fit: cover;
	object-position: top;
	border: 1px solid #dcdcde;
	border-radius: 2px;
	vertical-align: middle;
	margin-right: 6px;
}
.dasaf-activity-version {
	padding: 10px 0;
	border-bottom: 1px solid #f0f0f1;
}
.dasaf-activity-version:last-child { border-bottom: none; }
.dasaf-activity-version-head {
	display: flex;
	align-items: center;
	gap: 8px;
}
.dasaf-activity-sends {
	margin: 6px 0 0 0;
	padding-left: 18px;
	font-size: 13px;
	color: #50575e;
}
.dasaf-activity-sends li { margin-bottom: 2px; }
.dasaf-activity-channel { color: #8c8f94; }

@media (max-width: 768px) {
	.dasaf-flow-union { flex-basis: 100%; }
}
