/* ═══════════════════════════════════════════
   AF App Presupuestos — Components
   Buttons (variantes), status badges, status dropdown.
   Depende de: af-app-plugins, variables.css
   ═══════════════════════════════════════════ */

/* ── Buttons ── */
.af-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border: none;
	border-radius: 0;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s ease;
	text-decoration: none;
	white-space: nowrap;
	min-height: 44px;
}

.af-btn--primary {
	background: linear-gradient(135deg, var(--af-primary, #09aeb8), var(--af-primary-dark, #078a92));
	color: #fff;
	box-shadow: 0 4px 12px rgba(9, 174, 184, 0.25);
}
.af-btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(9, 174, 184, 0.35);
}

.af-btn--outline {
	background: rgba(15, 23, 42, 0.04);
	border: 1px solid rgba(15, 23, 42, 0.12);
	color: var(--af-gray-700, #4a5568);
}
.af-btn--outline:hover {
	border-color: var(--af-primary, #09aeb8);
	color: var(--af-primary, #09aeb8);
	background: rgba(9, 174, 184, 0.06);
}

.af-btn--success {
	background: linear-gradient(135deg, var(--af-success, #2f855a), #276749);
	color: #fff;
}
.af-btn--success:hover { transform: translateY(-1px); }

.af-btn--danger {
	background: linear-gradient(135deg, var(--af-danger, #e53e3e), #c53030);
	color: #fff;
}
.af-btn--danger:hover { transform: translateY(-1px); }

.af-btn.af-btn--square {
	background: transparent;
	border: 1px solid rgba(15, 23, 42, 0.2);
	color: var(--af-gray-700, #4a5568);
	border-radius: 0;
	padding: 6px 14px;
	font-size: 0.8125rem;
	min-height: 32px;
	line-height: 1.4;
	box-sizing: border-box;
}
.af-btn--square:hover {
	border-color: var(--af-primary, #09aeb8);
	color: var(--af-primary, #09aeb8);
}

.af-btn--link {
	background: none;
	border: none;
	color: var(--af-primary, #09aeb8);
	padding: 12px 8px;
	font-weight: 600;
}
.af-btn--link:hover {
	color: var(--af-primary-dark, #078a92);
	text-decoration: underline;
}

.af-btn--xs {
	padding: 6px 14px;
	font-size: 0.75rem;
	min-height: 32px;
}

.af-btn-icon {
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	min-width: 44px;
	min-height: 44px;
}

/* ── Status badges (pill, WCAG 4.5:1) ── */
.af-presupuestos-badge {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 0;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.af-status-borrador  { background: var(--af-gray-100, #f7fafc); color: #4a5568; }
.af-status-enviado   { background: rgba(9, 174, 184, 0.12); color: #0a7b82; }
.af-status-aceptado  { background: rgba(47, 133, 90, 0.12); color: #1a5632; }
.af-status-rechazado { background: rgba(229, 62, 62, 0.1); color: #9b2c2c; }
.af-status-facturado { background: rgba(107, 70, 193, 0.1); color: #553c9a; }
.af-status-caducado  { background: rgba(214, 158, 46, 0.15); color: #744210; }

/* ── Status dropdown (historial) ── */
.af-presupuestos-status-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 6px 28px 6px 12px !important;
	border-radius: 0 !important;
	font-size: 0.75rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: 1px solid rgba(15, 23, 42, 0.15) !important;
	cursor: pointer;
	min-height: 32px;
	line-height: 1.4;
	box-sizing: border-box;
	vertical-align: middle;
	margin: 0 !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23718096'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 10px 6px !important;
}

.af-presupuestos-status-select.af-status-borrador  { background-color: var(--af-gray-100, #f7fafc) !important; color: #4a5568; }
.af-presupuestos-status-select.af-status-enviado   { background-color: rgba(9, 174, 184, 0.12) !important; color: #0a7b82; }
.af-presupuestos-status-select.af-status-aceptado  { background-color: rgba(47, 133, 90, 0.12) !important; color: #1a5632; }
.af-presupuestos-status-select.af-status-rechazado { background-color: rgba(229, 62, 62, 0.1) !important; color: #9b2c2c; }
.af-presupuestos-status-select.af-status-caducado  { background-color: rgba(214, 158, 46, 0.15) !important; color: #744210; }

.af-presupuestos-status-select option {
	background-color: #fff;
	color: var(--af-gray-700, #4a5568);
	font-weight: 600;
	font-size: 13px;
	text-transform: none;
	letter-spacing: normal;
	padding: 6px 10px;
}

.af-presupuestos-status-select option:checked {
	background-color: rgba(9, 174, 184, 0.08);
	color: var(--af-primary-dark, #078a92);
}

.af-presupuestos-status-select:focus {
	outline: 2px solid var(--af-primary, #09aeb8);
	outline-offset: 1px;
}
