/* Buttons module - primary, cancel and small icon buttons */
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:12px 24px;border-radius:12px;font-weight:800;box-shadow:0 8px 30px rgba(255,154,60,0.18);text-transform:uppercase;cursor:pointer;border:none;transition:all .3s ease;font-size:14px;letter-spacing:.5px;display:inline-flex;align-items:center;justify-content:center;min-width:160px}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(255,154,60,0.3)}

/* Override primary button inside form actions and modals to match prompt confirm style (blue gradient)
   This makes form submit buttons visually identical to the showPrompt / confirm accept button. */
.form-actions .btn-primary,
.modal .form-actions .btn-primary{
	/* Use the prompt confirm orange gradient so form submit buttons match #customPrompt.confirm-accept */
	background: linear-gradient(135deg, var(--primary), var(--primary-dark));
	box-shadow: 0 8px 30px rgba(255, 154, 60, 0.18);
	min-width: 140px;
	padding: 12px 24px;
	border-radius: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 14px;
}
.form-actions .btn-primary:hover,
.modal .form-actions .btn-primary:hover{
	transform: translateY(-2px);
	box-shadow: 0 12px 40px rgba(255,154,60,0.3);
}
.btn-cancel{flex:1;padding:12px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:white;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}
.btn-danger{flex:1;padding:12px;background:linear-gradient(135deg,var(--negative),#c0392b);color:white;border:none;border-radius:8px;font-weight:700;cursor:pointer}
.icon-btn{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--glass-border);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);cursor:pointer;font-size:18px;transition:all .3s ease}
.icon-btn:hover{background:rgba(255,154,60,0.15);border-color:var(--primary);transform:scale(1.05);box-shadow:0 0 20px var(--primary-glow)}
.delete-btn{padding:6px 10px;border-radius:8px;border:1px solid var(--negative);background:rgba(244,67,54,0.08);color:var(--negative);cursor:pointer;font-size:12px;font-weight:600;transition:all .3s ease}
.delete-btn:hover{background:rgba(244,67,54,0.2);transform:scale(1.05)}

/* Quick day selector buttons (used in admin token expiry) */
.day-quick-btn{
	padding:8px 12px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	color: var(--muted);
	border-radius: 8px;
	cursor: pointer;
	font-weight: 600;
	transition: all .16s ease;
	min-width:56px;
}
.day-quick-btn:hover{
	background: rgba(255,255,255,0.06);
	transform: translateY(-1px);
}
.day-quick-btn.active,
.day-quick-btn[aria-pressed="true"]{
	background: linear-gradient(135deg, var(--primary), var(--primary-dark));
	border-color: var(--primary);
	color: white;
	box-shadow: 0 8px 24px rgba(255,154,60,0.18);
	transform: translateY(-1px);
}

/* Group wrapper for quick day selector buttons used in admin form */
.day-quick-group{
	display: flex;
	gap: 8px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}